查詢

extract()函式—用法及示例

「 可以將關聯陣列中的鍵值對,轉化為變數和變數值 」


函式名稱: extract()

適用版本: 所有版本的 PHP

函式用法: extract() 函式可以將關聯陣列中的鍵值對,轉化為變數和變數值。陣列的鍵名將成為變數名,陣列的鍵值將成為變數的值。這意味著,可以透過變數名直接訪問原始陣列中的值。

函式示例:

<?php
$details = array(
    'name' => 'John',
    'age' => 25,
    'country' => 'US'
);

extract($details);

echo $name; // 輸出:John
echo $age; // 輸出:25
echo $country; // 輸出:US
?>

在這個示例中,extract() 函式將 $details 陣列轉化為變數和變數值,並且可以直接使用這些變數來訪問陣列元素的值。

此外,extract() 函式還有一個可選的引數,用於指定變數的作用域。預設情況下,提取後的變數將在當前的符號表中生效。

<?php
$details = array(
    'name' => 'John',
    'age' => 25,
    'country' => 'US'
);

function getDetails() {
    $details = array(
        'name' => 'Jane',
        'age' => 30,
        'country' => 'UK'
    );
    
    extract($details, EXTR_PREFIX_ALL, "user");
    
    echo $user_name; // 輸出:Jane
    echo $user_age; // 輸出:30
    echo $user_country; // 輸出:UK
}

getDetails();

echo $name; // 輸出:John
echo $age; // 輸出:25
echo $country; // 輸出:US
?>

在這個示例中,使用 EXTR_PREFIX_ALL 引數將提取後的變數名加上字首 "user_",以避免變數名衝突。extract() 函式在函式內部執行後,不會影響函式外部的同名變數。

補充糾錯
上一個函式: extension_loaded()函式
下一個函式: ezmlm_hash()函式
熱門PHP函式
分享連結