簡體   English   中英

PHP Foreach數組作為函數錯誤(foreach in的無效參數……)

[英]PHP Foreach array as a error in function (invalid argument for foreach in…)

我正在研究一個新的最小項目,但我有一個錯誤,我不知道為什么。

通常,我首先使用$array = array();創建數組后才使用它們$array = array();

但在這種情況下,我將在不使用此代碼的情況下創建它,以下是完整的示例代碼,它會輸出錯誤:

<?php $i = array('demo', 'demo'); $array['demo/demodemo'] = $i; ?>
<?php $i = array('demo', 'demo'); $array['demo/demodemo2'] = $i; ?>

<?php
foreach($array as $a)
{
    echo $a[0] . '<br>';
}

function echo_array_demo() {
    foreach($array as $a)
    {
        echo $a[0] . '<br>';
    }
}

echo_array_demo();
?>

我為數組$array創建項目,如果我不使用函數調用它(foreach),則該方法有效。 但是如果我在函數中調用,則會出現錯誤...

我不知道為什么

謝謝...

函數具有自己的可變范圍 在函數外部定義的變量不會自動被其識別。

您可以使用global關鍵字將變量“導入”到函數中。

function echo_array_demo() {

    global $array;

    foreach($array as $a)
    {
        echo $a[0] . '<br>';
    }
}

使函數知道變量的另一種方法是將其作為引用傳遞

function echo_array_demo(&$array) {

    foreach($array as $a)
    {
        echo $a[0] . '<br>';
    }
}

echo_array_demo($array);

查看有關可變范圍PHP手冊

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM