【问题标题】:Fetching key from an array of array?从数组数组中获取键?
【发布时间】:2019-05-25 12:01:58
【问题描述】:

我正在尝试从这个名为 $mission_data 的简单数组中解析这些数据。 12654 和 12777 是一长串记录的键。例如,我需要将密钥 12654 放入一个变量中,以便我可以将它们与他们的 UserId 分组。

Array
(
 [12654] => Array
   (
     [UserID] => 294
       )
        [12777] => Array
        (
            [UserID] => 320
        )
     )

我的代码如下所示:

foreach($mission_data as $data){
$lloc_key = key($mission_data);
$user_ID = $data['UserID'];     
echo 'Location ID ='.$lloc_key."<br>";
echo 'User ID ='.$user_ID;}

我得到的结果是:

Location ID =12654
User ID =294

Location ID =12654
User ID =320

如果我将该 foreach 循环的第二行中的 $mission_data 替换为 $data,我会得到以下信息:

Location ID =UserID
User ID =294

Location ID =UserID
User ID =320

我似乎无法从数组的第一级取回密钥(并通过 foreach 循环让它前进。我做错了什么?

我知道这是 101,但我卡住了。

谢谢。

【问题讨论】:

    标签: php multidimensional-array foreach key


    【解决方案1】:
    foreach ($mission_data as $key => $data) {
        $user_ID = $data['UserID'];
        echo 'Location ID =' . $key . "<br>";
        echo 'User ID =' . $user_ID;
    }
    

    您可以使用 foreach 循环的$key =&gt; $value 来获取您尝试立即访问的数组的密钥。

    【讨论】:

    • 感谢您的快速回复。请问,$key 变量是一种检索密钥的方法吗?那只是PHP中的一个函数吗?我不确定我是否理解 $key 如何检索它,除非它是一个功能。 :)
    • 这是foreach循环的一个功能。您的第一种方法并没有那么错误,只需稍加修改即可使用,但我建议的方法使用更少的代码更快。如果我帮助您解决了您的问题,请不要忘记接受我的回答以供未来用户查看。
    • 很高兴我能帮上忙 :)
    猜你喜欢
    • 1970-01-01
    • 2014-03-14
    • 1970-01-01
    • 2023-03-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-14
    相关资源
    最近更新 更多