【问题标题】:How to get the value of an array that's inside another array [duplicate]如何获取另一个数组中的数组的值[重复]
【发布时间】:2013-02-21 22:59:02
【问题描述】:

我有这个:

Array
(
  [28] => Array
    (
        [name] => HTC Touch HD
    )
)

主数组中只有一个数组,我只有名称的值。问题是我不知道索引 (28)。

【问题讨论】:

    标签: php


    【解决方案1】:

    您通常可以使用array_values 来摆脱任何奇怪的键:

    $normal = array_values($arr);
    $normal[0]['name']
    

    或者在这种特殊情况下,end,这只是有点hacky:

    end($normal)['name']
    

    http://codepad.viper-7.com/cApBjK

    (是的,resetfirst 也是如此。)

    【讨论】:

    • 这是一个好方法。虽然这会复制数组,产生不必要的内存混乱。不如抓住本质,只找出key是什么,然后调用它。
    【解决方案2】:

    你也可以使用

    $array = array_pop($array);
    

    然后得到name元素:

    $array['name']
    

    【讨论】:

    • 既然这样,它就行不通了。 -- 即使在编辑之后,这仍然行不通。
    • @MattPsyK 是的,我意识到这有点 hacky。改变它:)
    • 你知道你仍然只返回数组,你的答案并没有像原来的问题那样得到答案。
    • 我不同意这一点。但是,无论如何我已经编辑了我的答案。
    【解决方案3】:

    如果不知道数组的结构,可以使用foreach构造。

    【讨论】:

      【解决方案4】:

      你可以试试这样的:

          reset($outerArray);
          $innerArray = current($outerArray);
      

      现在您应该可以访问所需的值了。

      【讨论】:

        【解决方案5】:

        非常不言自明:)

        <?php
        $array = array(
            28 => array(
                'name' => 'HTC Touch HD'
            )
        );
        
        $key = current(array_keys($array));
        
        echo '<pre>';
        print_r($array[$key]);
        echo '</pre>';
        ?>
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2021-10-10
          • 2014-03-03
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2018-03-28
          • 1970-01-01
          相关资源
          最近更新 更多