【问题标题】:Getting the first key in a multidimensional array with PHP使用 PHP 获取多维数组中的第一个键
【发布时间】:2013-10-31 19:21:28
【问题描述】:

我有一个名为$test的多维数组:

Array (
    [First item] => Array (
        [screen] => 2
        [1] => 2
        [2] => 2
        [3] => 2
        [4] => 2
    )
    [Second Item] => Array (
        [screen] => 3
        [1] => 3
        [2] => 3
        [3] => 3
        [4] => 3
    )
) 

我正在尝试获取密钥:screen1234
对于First itemSecond item,它们是相同的。你知道我如何遍历这个数组来获取这些值吗?所以,基本上是在我的多维数组中获取第一个数组的键。谢谢!

【问题讨论】:

  • 或者foreach ($arr as $key => $val) { $key; \\ something... } 也许?我不确定你想用这些键做什么

标签: php arrays loops multidimensional-array extract


【解决方案1】:

这个怎么样:

$keys = array_keys($test['First item']);

或者如果您想手动操作:

$keys = array();
foreach($test['First item'] as $key => $value) {
    $keys[] = $key;
}

【讨论】:

    【解决方案2】:

    应该是这样的:

    $keys = array_keys(reset($your_array));
    

    reset() 获取数组的第一个值,array_keys() 获取结果数组的键。

    您可能希望使用临时变量将其分成两行以避免严格警告。

    【讨论】:

      【解决方案3】:

      这取决于您要归档的内容:

      $test = Array (
          "First item" => Array (
          "screen" => 2,
              1 => 2,
              2 => 2,
              3 => 2,
              4 => 2,
          ),
          "Second Item" => Array (
          "screen" => 3,
              1 => 3,
              2 => 3,
              3 => 3,
              4 => 3,
          )
      );
      

      获取所有密钥

      $vals = [];
      foreach($test as $k=>$v){
          $vals = array_merge($vals, array_keys($v));
      }
      

      这会给你带来:

      Array
      (
          [0] => screen
          [1] => 1
          [2] => 2
          [3] => 3
          [4] => 4
          [5] => screen
          [6] => 1
          [7] => 2
          [8] => 3
          [9] => 4
      )
      

      分隔在另一个多维数组中:

      foreach($arr as $k=>$v){
          $vals[] = array_keys($v);
      }
      

      只有唯一键:

      foreach($test as $k=>$v){
          $vals = array_unique(array_merge($vals, array_keys($v)));
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-06-25
        • 1970-01-01
        • 2020-11-24
        • 1970-01-01
        • 2012-05-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多