簡體   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