【问题标题】:Extracting values from multidimensional array where keys are dynamically generated从动态生成键的多维数组中提取值
【发布时间】:2012-08-29 05:48:04
【问题描述】:

我有一个数组

$array1 = Array (
       [a1] => Array  (
               [a_name] => aaaaa
               [a_value] => aaa
             )

       [b1] => Array (
               [b_name] => bbbbb
               [b_value] => bbb
           )
       [c1] => Array (
               [c_name] => ccccc
               [c_value] => ccc
           )

     )

现在我想提取 $array1[b1][b_name] 的值。但这里的事情是密钥(b1 和 b_name)将动态生成。这里的情况是我有一个多维数组和我想要值的键。那么我如何获得价值。

例如。

$array1[b1][b_name] 

应该返回

bbbbb

$array1[c1] 

应该返回

array([c_name]=>ccccc
       [c_value]=>ccc
   ) 

等等……

编辑

让我们保持这种方式, 第二个数组是

$array2 = Array (
         [b1] => Array (
               [b_name]=> zzzzz
             )
      )

现在与 $array1 和 $array2 相交,我想要 $array1 的值,即。 bbbb

【问题讨论】:

    标签: php arrays multidimensional-array


    【解决方案1】:

    试试这个

    <?php
       //you will have $firstkey and $secondkey as index values of $array1
       if (isset($firstkey) && array_key_exists($firstkey, $array1)) {
           if (isset($secondkey) && array_key_exists($secondkey, $array1[$firstkey])) {
               print_r($array1[$firstkey][$secondkey]);
           }
           else {
               print_r($array1[$firstkey]);
               echo "$secondkey does not exist";           
           }
       }
       else {
           echo "$firstkey does not exist";
       }
    ?>
    

    【讨论】:

      【解决方案2】:

      您可以使用 foreach 循环来获取键和值。如果您只想要特定的并且您不知道如何识别它们,我不确定它是否会对您有所帮助:

      foreach ($array1 as $key => $value) {
          echo "Key: $key; Value: $value<br />\n";
      }
      
      // From your example of the array inside a1:
      // the $key would be: a_name
      // the $value would be: aaaaa
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-06-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-09-29
        • 2011-02-17
        相关资源
        最近更新 更多