首頁  >  文章  >  後端開發  >  PHP中parse_str()函數的深度解析

PHP中parse_str()函數的深度解析

autoload
autoload原創
2021-04-20 11:24:142723瀏覽

    PHP中parse_str()函數的深度解析

  PHP中字串儲存的可能是多個變數的值(例如URL),那麼為了最終得到各個變數的值,如何將字串解析成多個變量,PHP為我們提供了parse_str()函數,能夠順利地解決這個問題,本文就帶大家一起來了解一下。

    首先,我們先來看看parse_str()的語法:

parse_str( string $string   , array &$result )
  • $string輸入的字串。

  • $result 如果設定了第二個變數$result,變數將會以陣列元素的形式存入這個數組,作為替代,PHP 7.2 中將廢棄不設定參數的行為。

  • 傳回值:沒有傳回值。

程式碼範例:

1.有第二個參數的形式:

<?php
$str = "first=php&arr[]=foobar&arr[]=baz&info=.cn";
parse_str($str, $output);
echo $output[&#39;first&#39;];  // value
echo "<br>";
echo $output[&#39;arr&#39;][0]; // foo bar
echo "<br>";
echo $output[&#39;arr&#39;][1]; // baz
echo "<br>";
echo $output[&#39;info&#39;];
echo "<br>";
print_r($output);
输出:  php
        foobar
        baz
        .cn
        Array ( [first] => php [arr] => Array ( [0] => foobar [1] => baz ) [info] => .cn )

2.只有一個參數的形式:在

<?php
$str = "first=php&arr[]=foobar&arr[]=baz&info=.cn";
parse_str($str);
echo $first."<br>";  
echo $arr[0]."<br>"; 
echo $arr[1]."<br>"; 
echo $info[0];
输出:  php
        foobar
        baz
        .

   PHP7.2.0中不帶第二個參數的情況下使用 parse_str() 會產生E_DEPRECATED 警告,PHP8.0.0result 是必須項,所以第二種不建議使用。   

推薦:2021年PHP面試題大總結(收藏)》《php影片教學

以上是PHP中parse_str()函數的深度解析的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn