>  기사  >  백엔드 개발  >  PHP에서 extract() 함수 분석(코드 예제 포함)

PHP에서 extract() 함수 분석(코드 예제 포함)

autoload
autoload원래의
2021-04-25 10:03:585877검색

일상적인 PHP 사용에서는 사용 편의성을 위해 PHP 배열의 데이터를 별도의 변수로 직접 변경해야 하는 경우가 종종 있습니다. 배열의 형식만 사용하여 배열의 값을 사용할 수 있습니다. 이 기사에서는 PHP에 내장된 함수 extract()를 살펴보겠습니다. 우리는 이 문제를 해결합니다. 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>》

먼저 extrac() 함수의 구문을 살펴보겠습니다. 🎜rrreee
  • 🎜$arr: associative 배열(숫자 인덱스 배열은 $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🎜rrreeerrreee 매개변수가 하나만 있습니다. 🎜2. 세 개의 매개변수🎜rrreeerrreee🎜 $flag code> 값은 <code>EXTR_PREFIX_SAME이고 접두사 $prefix
🎜🎜<span label="emphasis" style="font-size">권장:</span><a href="https://www.php.cn/toutiao%20-415599.html%20" target="_self" style="white-space: Normal;">2021년 PHP 면접 질문 요약(모음)</a>" <a href="https://www.php.cn/course%20/%20list/29.html" target="_self" style="white-space: Normal;">PHP 비디오 튜토리얼</a>》🎜

위 내용은 PHP에서 extract() 함수 분석(코드 예제 포함)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.