首頁  >  文章  >  後端開發  >  解析PHP中的extract()函數(附程式碼實例)

解析PHP中的extract()函數(附程式碼實例)

autoload
autoload原創
2021-04-25 10:03:585914瀏覽

    在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>2021年PHP面試題大匯總(收藏)<a href="https://www.php.cn/toutiao-415599.html" target="_self" style="white-space: normal;">》《</a>php影片教學<a href="https://www.php.cn/course/list/29.html" target="_self" style="white-space: normal;">》</a>

以上是解析PHP中的extract()函數(附程式碼實例)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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