【发布时间】:2015-01-23 21:52:28
【问题描述】:
<?php
$letters = array( 'A', 'B', 'C' );
$numbers = array( 1, 2, 3 );
$matrix = array( 'Letter' => $letters, 'Number' => $numbers );
echo "<p>Start : {$matrix['Letter'][0]}</p>";
foreach($matrix as $array => $list)
{
echo'<ul>';
foreach($list as $key => $value)
{
echo "<li>$array [$key] = $value";
}
echo '</ul>';
}
?>
我需要帮助理解这段代码,基本上我对第 13 行的工作方式感到困惑。
What I see:
'$value' = non-key values of '$list'
'$list' = non-key values of '$matrix'
'$matrix' = $letters, $numbers
Therefore '$value' = $letters, $numbers
'$array' = key values of '$list'
Therefore '$array' = 'Letter', 'Number'
我知道我可以输入 echo "<p>Letter: {$letters[0]}</p>"; 来返回字母“A”,但如果我输入 echo "<p>Letter: {$letters}</p>"; 则会收到错误消息。
我的重点是第 13 行,{ echo "<li>$array [$key] = $value"; }
为什么这不返回错误?
'$array' 中未指定位置,'$key' 从未分配,'$value' 中未指定位置。
我几天前才开始学习 PHP 和 MySQL。 非常感谢任何帮助,因为我正在努力学习并希望继续阅读本书的下一部分,但我需要先弄清楚这一点。
~谢谢!
【问题讨论】:
-
$key、$value和$array在 foreach 中定义 -
$array在外部 foreach 循环中定义 -
你不能在数组上回显,这就是为什么当你做
echo "<p>Letter: {$letters}</p>";时会产生错误的原因@
标签: php arrays loops matrix foreach