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