输出多维数组值

时间:2013-07-10 13:57:58

标签: php multidimensional-array associative-array

我正在尝试创建一个多维关联数组并显示其值。最初在下面的代码中我有字符串名称而不是数字。然而,这给了我一个"未定义的常数"错误。当我用数字替换字符串时,打印出的所有内容都是" 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];


      ?>

感谢。

2 个答案:

答案 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