Rumah >pembangunan bahagian belakang >tutorial php >解析PHP中的extract()函数(附代码实例)

解析PHP中的extract()函数(附代码实例)

autoload
autoloadasal
2021-04-25 10:03:585951semak imbas

    在PHP的日常使用中,我们经常需要将PHP数组中的数据直接变为一个个单独的变量,以方便使用,免得使用过程中需要按照数组的格式才能对数组的值进行使用,本文就带大家一起来看一看PHP中的内置函数extract(),帮助我们解决这一麻烦。

首先我们来看一看,extrac()函数的语法:

extract  (array $arr, int $flags = EXTR_OVERWRITE   , string $prefix = "" )
  • $arr:关联数组(数字索引的数组将不会产生结果,除非用了  $flags=EXTR_PREFIX_ALL 或者 EXTR_PREFIX_INVALID。 )

  • $flags:可选,对待非法/数字和冲突的键名的方法将根据取出标记$flags 参数决定

  • $prefix:可选, 仅在   $flags=EXTR_PREFIX_SAME,EXTR_PREFIX_ALL,EXTR_PREFIX_INVALID  , EXTR_PREFIX_IF_EXISTS 时需要。 如果附加了前缀后的结果不是合法的变量名,将不会导入到符号表中。前缀和数组键名之间会自动加上一个下划线。 

  • 返回值:返回成功导入到符号表中的变量数目。

代码示例:

1.只有$arr一个参数

<?php

    $arr=array(
        "name"=>"张三",
        "age"=>"27",
        "gender"=>"男",
        "profession"=>"法外狂徒"
    );
    $extract_num=extract($arr);
    echo $extract_num."<br>";
    echo $name."<br>";
    echo $age."<br>";
    echo $gender."<br>";
    echo $profession."<br>";
输出:4
      张三
      27
      男
      法外狂徒

2.三个参数

<?php
   $profession="职业张三";
    $arr=array(
        "name"=>"张三",
        "age"=>"27",
        "gender"=>"男",
        "profession"=>"法外狂徒",
    );
    $extract_num= extract($arr, EXTR_PREFIX_SAME, "wddx");
    echo $extract_num."<br>";
    echo $name."<br>";
    echo $age."<br>";
    echo $gender."<br>";
    echo $profession."<br>";
    echo $wddx_profession."<br>";
输出:  4
        张三
        27
        男
        职业张三
        法外狂徒

我们会发现原变量未被覆盖,因为$flag的值为EXTR_PREFIX_SAME,在出现冲突时添加了前缀$prefix

<span label="强调" style="font-size: 16px; font-style: italic; font-weight: bold; line-height: 18px;">推荐:</span>《<a href="https://www.php.cn/toutiao-415599.html" target="_self" style="white-space: normal;">2021年PHP面试题大汇总(收藏)</a>》《<a href="https://www.php.cn/course/list/29.html" target="_self" style="white-space: normal;">php视频教程</a>》

Atas ialah kandungan terperinci 解析PHP中的extract()函数(附代码实例). 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