Rumah  >  Artikel  >  pembangunan bahagian belakang  >  PHP中parse_str()函数的深度解析

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

autoload
autoloadasal
2021-04-20 11:24:142723semak imbas

    2021042011213897440.jpg

  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视频教程

Atas ialah kandungan terperinci PHP中parse_str()函数的深度解析. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn