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

问题描述 投票:1回答:1

我有一个多维数组如下:

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

我想得到的是'再见','回复'和$adminoptions[1]'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
php arrays multidimensional-array
1个回答
2
投票

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

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

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

$adminoptions = array("hello"=>array("hello","replies",0));
echo $adminoptions['hello'][0];
© www.soinside.com 2019 - 2024. All rights reserved.