如何通过键打印多维数组?

时间:2017-12-18 18:43:56

标签: php arrays multidimensional-array

我有一个多维数组,如下所示:

$adminoptions = array(array("hello","replies",0),array("goodbye","replies",1),array("hola","flagged",0));

我想要的是“再见”,“回复”和“#1;'来自$adminoptions[1]。我知道我可以使用下面的代码,但我不希望遍历每个代码 - 相反,我希望能够执行$adminoptions[goodbye]之类的代码:

foreach($adminoptions as $array) {
   if($array[0] == 'goodbye') {
      echo ' 1) '.$adminoptions[1][0]; // goodbye
      echo ' 2) '.$adminoptions[0][1]; // replies
      echo ' 3) '.$adminoptions[0][2]; // 1
   }
}

以下是我希望能够做到的一个例子:

echo ' 1) '.$adminoptions[goodbye][0]; // goodbye
echo ' 2) '.$adminoptions[goodbye][1]; // replies
echo ' 3) '.$adminoptions[goodbye][2]; // 1

1 个答案:

答案 0 :(得分:2)

如果你不创建数组并假设每个子数组的0索引是唯一的,那么只需提取它们并用0索引处的值索引:

$adminoptions = array_column($adminoptions, null, 0);
echo $adminoptions['goodbye'][0];

如果你确实创建了数组,那么只需添加一个键:

$adminoptions = array("hello"=>array("hello","replies",0));
echo $adminoptions['hello'][0];