我正在尝试创建一个多维关联数组并显示其值。最初在下面的代码中我有字符串名称而不是数字。然而,这给了我一个"未定义的常数"错误。当我用数字替换字符串时,打印出的所有内容都是" arrayarrayarray"。有谁能告诉我
(a)如何输入字符串而不是数字
(b)如何获取数组中的值而不是仅仅打印出#34; array"。
当我编码" echo $ myArray [1];"它输出"数组"而不是该数组内的值。
$myArray = array(
0 => array
(
"physics" => 35,
"maths" => 30,
"chemistry" => 39
),
1 => array
(
"physics" => 30,
"maths" => 32,
"chemistry" => 29
),
2 => array
(
"physics" => 31,
"maths" => 22,
"chemistry" => 39
)
);
echo count ($myArray);
?>
<p>
<?php
echo $myArray[1];
?>
<p>
<?php
// On the line below, loop through the array and output
// *all* of the values to the page:
for ($i= 0 ; $i < 3 ; $i++)
echo $myArray[$i];
?>
感谢。
答案 0 :(得分:2)
显然,你在Arrays in PHP上阅读一下并没有什么坏处。
当你写echo $myArray[1];
时,它会为你输出array
,因为那就是你所拥有的 - 一个嵌套数组。
要使用关联数组 - “输入字符串而不是数字”,如下所示,可以使用以下示例:
$myArray = array(
"Johnson" => array (
"physics" => 35,
"maths" => 30,
"chemistry" => 39
),
"Smith" => array (
"physics" => 35,
"maths" => 30,
"chemistry" => 39
));
答案 1 :(得分:1)
echo $myArray[1]['physics'];
将显示
35
和
foreach( $myArray as $childArray )
{
echo $childArray['physics'];
}
将打印:
35
30
31
但正如@Trogvar已经告诉过你:read the documentation。