Hướng dẫn what is parsing in php? - phân tích cú pháp trong php là gì?

❮ Tham chiếu chuỗi PHP

Thí dụ

Phân tích chuỗi truy vấn thành các biến:

parse_str("name=Peter&age=43");
echo $name."
";
echo $age;
?>

Hãy tự mình thử »


Định nghĩa và cách sử dụng

Hàm parse_str () phân tích một chuỗi truy vấn thành các biến.

Lưu ý: Nếu tham số mảng không được đặt, các biến được đặt bởi hàm này sẽ ghi đè lên các biến hiện có cùng tên. If the array parameter is not set, variables set by this function will overwrite existing variables of the same name.

Lưu ý: Cài đặt Magic_quotes_GPC trong tệp php.ini ảnh hưởng đến đầu ra của chức năng này. Nếu được bật, các biến được chuyển đổi bởi addslashes () trước khi phân tích cú pháp parse_str (). The magic_quotes_gpc setting in the php.ini file affects the output of this function. If enabled, the variables are converted by addslashes() before parsed by parse_str().


Cú pháp

Giá trị tham số

Tham sốSự mô tả
sợi dâyYêu cầu. Chỉ định chuỗi để phân tích cú pháp
mảngTùy chọn (cần thiết từ PHP 7.2). Chỉ định tên của một mảng để lưu trữ các biến. Tham số này chỉ ra rằng các biến sẽ được lưu trữ trong một mảng.

Chi tiết kỹ thuật

Giá trị trở lại:Không có giá trị nào được trả lại
Phiên bản PHP:4+
Changelog:Php 7.2.0 - Tham số mảng là bắt buộc.php 4.0.3 - Đã thêm tham số mảng.
PHP 4.0.3 - Added the array parameter.

Nhiều ví dụ hơn

Thí dụ

Lưu trữ các biến trong một mảng:

parse_str("name=Peter&age=43",$myArray);
print_r($myArray);
?>

Hãy tự mình thử »


❮ Tham chiếu chuỗi PHP


<?php use Parle\{ParserParserExceptionLexerToken};$p = new Parser;
$p->token("INTEGER");
$p->left("'+' '-' '*' '/'");$p->push("start""exp");
$prod_add $p->push("exp""exp '+' exp");
$prod_sub $p->push("exp""exp '-' exp");
$prod_mul $p->push("exp""exp '*' exp");
$prod_div $p->push("exp""exp '/' exp");
$p->push("exp""INTEGER"); /* Production index unused. */$p->build();$lex = new Lexer;
$lex->push("[+]"$p->tokenId("'+'"));
$lex->push("[-]"$p->tokenId("'-'"));
$lex->push("[*]"$p->tokenId("'*'"));
$lex->push("[/]"$p->tokenId("'/'"));
$lex->push("\\d+"$p->tokenId("INTEGER"));
$lex->push("\\s+"Token::SKIP);$lex->build();$exp = array(
    
"1 + 1",
    
"33 / 10",
    
"100 * 45",
    
"17 - 45",
);

foreach (

$exp as $in) {
    if (!
$p->validate($in$lex)) {
        throw new 
ParserException("Failed to validate input");
    }
$p->consume($in$lex);

    while (

Parser::ACTION_ERROR != $p->action && Parser::ACTION_ACCEPT != $p->action) {
        switch (
$p->action) {
            case 
Parser::ACTION_ERROR:
                throw new 
ParserException("Parser error");
                break;
            case 
Parser::ACTION_SHIFT:
            case 
Parser::ACTION_GOTO:
            case 
Parser::ACTION_ACCEPT:
                break;
            case 
Parser::ACTION_REDUCE:
                switch (
$p->reduceId) {
                    case 
$prod_add:
                        
$l $p->sigil(0);
                        
$r $p->sigil(2);
                        echo 
"$l + $r = " . ($l $r) . "\n";
                        break;
                    case 
$prod_sub:
                        
$l $p->sigil(0);
                        
$r $p->sigil(2);
                        echo 
"$l - $r = " . ($l $r) . "\n";
                        break;
                    case 
$prod_mul:
                        
$l $p->sigil(0);
                        
$r $p->sigil(2);
                        echo 
"$l * $r = " . ($l $r) . "\n";
                        break;
                    case 
$prod_div:
                        
$l $p->sigil(0);
                        
$r $p->sigil(2);
                    echo 
"$l / $r = " . ($l $r) . "\n";
                        break;
            }
            break;
        }
        
$p->advance();
    }
}

Những gì được gọi là phân tích cú pháp?

Phân tích phân tích, phân tích cú pháp hoặc phân tích cú pháp là quá trình phân tích một chuỗi các ký hiệu, bằng ngôn ngữ tự nhiên, ngôn ngữ máy tính hoặc cấu trúc dữ liệu, phù hợp với các quy tắc của một ngữ pháp chính thức. Thuật ngữ phân tích cú pháp đến từ phân tích tiếng Latin (orationis), có nghĩa là phần (của lời nói).the process of analyzing a string of symbols, either in natural language, computer languages or data structures, conforming to the rules of a formal grammar. The term parsing comes from Latin pars (orationis), meaning part (of speech).

Quá trình phân tích cú pháp là gì?

Phân tích cú pháp, là quá trình xác định mã thông báo trong một thể hiện dữ liệu và tìm kiếm các mẫu dễ nhận biết.Quá trình phân tích phân tách từng từ, cố gắng xác định mối quan hệ giữa từ và các bộ mã thông báo được xác định trước đó, sau đó tạo thành các mẫu từ các chuỗi mã thông báo.the process of identifying tokens within a data instance and looking for recognizable patterns. The parsing process segregates each word, attempts to determine the relationship between the word and previously defined token sets, and then forms patterns from sequences of tokens.

Phân tích cú pháp được sử dụng để làm gì?

Trình phân tích cú pháp là một chương trình là một phần của trình biên dịch và phân tích cú pháp là một phần của quy trình biên dịch.Phân tích cú pháp xảy ra trong giai đoạn phân tích tổng hợp.Trong phân tích cú pháp, mã được lấy từ bộ tiền xử lý, chia thành các phần nhỏ hơn và được phân tích để phần mềm khác có thể hiểu nó.code is taken from the preprocessor, broken into smaller pieces and analyzed so other software can understand it.

Phân tích phân tích giải thích với một ví dụ là gì?

Trong ngôn ngữ học, phân tích phân tích có nghĩa là chia một câu vào các phần thành phần của nó để có thể hiểu được ý nghĩa của câu.Đôi khi phân tích cú pháp được thực hiện với sự trợ giúp của các công cụ như sơ đồ câu (biểu diễn trực quan của các công trình cú pháp).