繁体   English   中英

PHP通过关联数组进行迭代并获取特定值

[英]PHP Iterate Through Associative Array and Get Specific Values

我有以下关联数组:

<? $group_array;

输出以下内容:

Array
(
[user_id] => Array
    (
        [0] => 594
        [1] => 597
    )

[user_first] => Array
    (
        [0] => John
        [1] => Jane
    )

[user_last] => Array
    (
        [0] => Smith
        [1] => Jones
    )

)

我的问题是:如何遍历数组并通过其名称输出特定值?

例如,类似:

<?php
   foreach ($group_array as $key => $value) {
       print($key['user_id']);
       print($key['user_first']);
       // etc...
   }

但这似乎不起作用。 任何帮助都会很棒。 谢谢!

foreach ($group_array['user_id'] as $key => $value) {
  print($value); // user id
  print($group_array['user_first'][$key]);
  print($group_array['user_last'][$key]);
}

您无需遍历数组即可通过键名称来调用键

echo $group_array['user_id'][0];
// Result: 594

如果要遍历值,可以执行以下操作:

for ($i=0;$i<count($group_array['user_id']);$i++) {
    echo $group_array['user_id'][$i];
    echo $group_array['user_first'][$i];
    echo $group_array['user_last'][$i];
}

Crayon Violent的答案是正确的,但我认为您的阵列结构不佳,为便于访问和使用,我建议使用类似的方法

Array
(
    [0] => Array
        (
            [user_id] => 594
            [user_first] => John
            [user_last] => Smith
        )
    [1] => Array
        (
            [user_id] => 597
            [user_first] => Jane
            [user_last] => Jones
        )
)

为了这样的轻松访问:

foreach($group_array as $person) {
    print($person['user_id']);
    print($person['user_first']);
    print($person['user_last']);
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM