-1

我正在尝试创建一个多维关联数组并显示其值。最初在下面的代码中,我使用的是字符串名称而不是数字。然而,这给了我一个“未定义的常量”错误。当我用数字替换字符串时,它打印出来的只是“arrayarrayarray”。谁能告诉我

(a) 如何输入字符串而不是数字

(b) 如何获取数组内部的值,而不是仅仅打印出“数组”。

当我编码“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];


      ?>

谢谢。

4

2 回答 2

2

显然,阅读一些关于PHP 中的 Arrays 的内容不会对您造成伤害。

当然,当您编写echo $myArray[1];它时,它会为您打印出来array,因为这就是您所拥有的 - 一个嵌套数组。

要使用关联数组 - 正如您所说的“放置字符串而不是数字”,可以使用以下示例:

$myArray = array( 
    "Johnson" => array (
       "physics" => 35,        
       "maths" => 30,      
       "chemistry" => 39       
    ),
    "Smith" => array (
       "physics" => 35,        
       "maths" => 30,      
       "chemistry" => 39       
    ));
于 2013-07-10T14:01:14.193 回答
1
echo $myArray[1]['physics'];

将显示

35

和:

foreach( $myArray as $childArray )
{
    echo $childArray['physics'];
}

将打印:

35
30
31

但正如@Trogvar 已经告诉你的那样:阅读文档

于 2013-07-10T14:01:40.943 回答