为什么这个php数组不返回错误?
我知道我可以键入为什么这个php数组不返回错误?,php,arrays,loops,matrix,foreach,Php,Arrays,Loops,Matrix,Foreach,我知道我可以键入echo“字母:{$letters[0]}”返回字母“A”,但如果我键入echo“字母:{$letters}”然后我将收到一个错误 我的重点是第13行,{echo”$array[$key]=$value”} 为什么不返回错误 在'$array'中未指定任何点,'$key'中从未分配任何点,'$value'中未指定任何点 我几天前才开始学习PHP和MySQL。 非常感谢您的帮助,因为我正在努力学习,并希望继续阅读本书的下一部分,但我需要先了解一下这一点 ~z~谢谢 所有这三个变量都
echo“字母:{$letters[0]}”
返回字母“A”,但如果我键入echo“字母:{$letters}”代码>然后我将收到一个错误
我的重点是第13行,{echo”$array[$key]=$value”}
为什么不返回错误
在'$array'
中未指定任何点,'$key'
中从未分配任何点,'$value'
中未指定任何点
我几天前才开始学习PHP和MySQL。
非常感谢您的帮助,因为我正在努力学习,并希望继续阅读本书的下一部分,但我需要先了解一下这一点
~z~谢谢 所有这三个变量都是由foreach
构造为循环体临时定义的变量,它们都是数字或字符串,而不是数组
上面的一行定义了该循环主体的变量$array
和$list
$array
是依次设置为$matrix
的每个键的字符串$list
是每个键的对应值
foreach($matrix as $array => $list)
类似地,这定义了循环体中的变量$key
和$value
$key
被设置为$list
的每个键,并且$value
被设置为每个匹配值。所有这三个变量都是由foreach
构造为循环体临时定义的变量,每个变量都是数字或字符串,而不是数组
上面的一行定义了该循环主体的变量$array
和$list
$array
是依次设置为$matrix
的每个键的字符串$list
是每个键的对应值
foreach($matrix as $array => $list)
类似地,这定义了循环体中的变量$key
和$value
$key
设置为$list
的每个键,并且$value
设置为每个匹配值。所有这三个变量都是标量值(字符串或数字),因此直接打印它们没有问题
foreach($list as $key => $value)
看看它是如何工作的。在这里,命名不好的$array
将有两个值之一:要么“字母”
,要么“数字”
。很明显,它们都可以打印而不需要发行
foreach($matrix as $array => $list)
这里的$list
将是数组('A','B','C')
或(1,2,3)
。在任何一种情况下,$key
将有一个值0
,1
或2
,$value
将是字符串或整数。同样,可以毫无问题地打印所有这些变量。这三个变量都是标量值(字符串或数字),因此直接打印它们没有问题
foreach($list as $key => $value)
foreach($list as $key => $value)
看看它是如何工作的。在这里,命名不好的$array
将有两个值之一:要么“字母”
,要么“数字”
。很明显,它们都可以打印而不需要发行
foreach($matrix as $array => $list)
这里的$list
将是数组('A','B','C')
或(1,2,3)
。在任何一种情况下,$key
将有一个值0
,1
或2
,$value
将是字符串或整数。同样,所有这些都可以毫无问题地打印。foreach($array=>$list的矩阵)
foreach($list as $key => $value)
{
//$array是字符串“字母”,而$list是第一次迭代的数组$letters
//$array是字符串“Number”,而$list是第二次迭代的数组$numbers
回声“”;
foreach($key=>$value)
{
//当$list=$letters时
//第一次迭代:$key=0和值'A';第二次迭代:$key=1和$value='B'。。。。。
//最后
//$array表示“字母”
//$key平均值0
//$value表示“A”
//循环继续
echo“- $array[$key]=$value”;
//结果
//
- 字母[0]=A;
//字母[1]=B;
//.............
}
回声“
”;
}
希望您能理解。
请记住,您的li标签未关闭。请使用此标签
foreach($matrix as $array => $list)
{
//$array is String "Letter" and $list is array $letters for first iteration
//$array is String "Number" and $list is array $numbers for second iteration
echo'<ul>';
foreach($list as $key => $value)
{
//when $list=$letters
//1st iteration:$key =0 and value 'A'; 2nd iteration :$key=1 and $value= 'B'.....
//finally
//$array means "Letter"
//$key mean 0
//$value mean "A"
//and loop goes on
echo "<li>$array [$key] = $value";
//result
//<li>Letter[0] = A;
//<li>Letter[1] = B;
//.............
}
echo '</ul>';
}
echo“$array[$key]=$value ”;
foreach($array形式的矩阵=>$list)
{
//$array是字符串“字母”,而$list是第一次迭代的数组$letters
//$array是字符串“Number”,而$list是第二次迭代的数组$numbers
回声“”;
foreach($key=>$value)
{
//当$list=$letters时
//第一次迭代:$key=0和值'A';第二次迭代:$key=1和$value='B'。。。。。
//最后
//$array表示“字母”
//$key平均值0
//$value表示“A”
//循环继续
echo“- $array[$key]=$value”;
//结果
//
- 字母[0]=A;
//字母[1]=B;
//.............
}
回声“
”;
}
希望您能理解。
请记住,您的li标签未关闭。请使用此标签
foreach($matrix as $array => $list)
{
//$array is String "Letter" and $list is array $letters for first iteration
//$array is String "Number" and $list is array $numbers for second iteration
echo'<ul>';
foreach($list as $key => $value)
{
//when $list=$letters
//1st iteration:$key =0 and value 'A'; 2nd iteration :$key=1 and $value= 'B'.....
//finally
//$array means "Letter"
//$key mean 0
//$value mean "A"
//and loop goes on
echo "<li>$array [$key] = $value";
//result
//<li>Letter[0] = A;
//<li>Letter[1] = B;
//.............
}
echo '</ul>';
}
echo“$array[$key]=$value ”;
首先
echo "<li>$array [$key] = $value </li>";
echo“字母:{$letters}”;
返回错误,因为您试图回显整个数组。echo是做不到的
此代码
echo "<p>Letter: {$letters}</p>";
foreach($key=>$value)
{echo“$array[$key]=$value”}
回声“”;
}
有效,因为每个值都有自己的键。如果没有为某个值定义键,则会自动添加该键。
你说你知道这是可行的:
foreach($list as $key => $value)
{ echo "<li>$array [$key] = $value"; }
echo '</ul>';
}
echo“字母:{$letters[0]}”;
“0”是键,它是在数组初始化期间自动添加的。键不需要是字符串就可以是某个值的键。首先
echo "<li>$array [$key] = $value </li>";
echo“字母:{$letters}”;
返回错误,因为您试图回显整个数组。echo是做不到的
此代码
echo "<p>Letter: {$letters}</p>";
foreach($list)