返回给定键的PHP数组中的所有值

时间:2017-06-05 20:48:38

标签: php

我想返回给定键的数组中的所有值。例如,如果我选择的键是“a”,我想要返回“redpinkmaroon”。目前我只是得到'maroon',这是最后的元素。

$newarray = array("a"=>"red","b"=>"green","c"=>"blue","a"=>"pink","a"=>"maroon");

foreach($newarray as $key => $value) {
    if ($key === "a") { echo $value; }
}

任何想法都非常感激。

3 个答案:

答案 0 :(得分:1)

那是因为只有一个a键。键是唯一的,因此下面的键会覆盖前一个键。来自PHP: Arrays

  

如果数组声明中的多个元素使用相同的键,则只会使用最后一个元素,因为所有其他元素都会被覆盖。

尝试print_r($newarray);查看。

您可以在键a

下定义一个带有子数组的多维数组
$newarray = array("a"=>array("red","pink","maroon"),"b"=>"green","c"=>"blue");

然后循环a键:

foreach($newarray['a'] as $value) {
    echo $value;
}

答案 1 :(得分:0)

试试这个,

$newarray = array("a"=>array("red","pink","maroon"),"b"=>"green","c"=>"blue");

    foreach($newarray as $key => $value) {
        if ($key === "a") {
            foreach ($value as $color) {
                echo $color;
             }  
        }
    }

答案 2 :(得分:0)

您可以尝试制作二维数组,例如

$newarray = [
   "a" => ['red','pink','maroon'],
   "b" => ['green'],
   "c" => ['blue']
];

然后你可以访问这样的值:

$newarray['a']

将返回包含红色粉红色和栗色的数组