我想打印数组中变量的值,但什么也没出现,有人可以帮忙吗?
<?php
$i = 0;
$array = array();
function addInArray($var, $array) {
$array[] = $var;
}
while ($i < 10) {
${"char" . $i} = 1;
addInArray(${"char" . $i}, $array);
foreach ($array as $values) {
echo $values.PHP_EOL;
}
$i++;
}
?>
检查参考:什么是变量范围,哪些变量可以从哪里访问,什么是"未定义的变量"错误? 您需要通过引用传递&
:
$i = 0;
$array = array();
function addInArray($var, &$array) { //HERE
$array[] = $var;
}
while ($i < 10) {
${"char" . $i} = 1;
addInArray(${"char" . $i}, $array);
foreach ($array as $values) {
echo $values.PHP_EOL;
}
$i++;
}
或者从函数中return
数组:
$i = 0;
$array = array();
function addInArray($var, $array) {
$array[] = $var;
return $array; //HERE
}
while ($i < 10) {
${"char" . $i} = 1;
$array = addInArray(${"char" . $i}, $array); ??HERE
foreach ($array as $values) {
echo $values.PHP_EOL;
}
$i++;
}