我需要帮助从php数组中检索所有['id']

时间:2019-01-23 09:55:09

标签: php arrays for-loop id

我需要帮助从一组数组中提取所有['id']值。数组数组看起来像这样:

    Array
    (
        [interests] => Array
            (
                [0] => Array
            (
                [category_id] => daa4b58f91
                [list_id] => 6e9cb28acf
                [id] => b298c8dee6
                [name] => Feed 1
                [subscriber_count] => 1
                [display_order] => 1
            )

        [1] => Array
            (
                [category_id] => daa4b58f91
                [list_id] => 6e9cb28acf
                [id] => 57ff19b511
                [name] => Feed 2
                [subscriber_count] => 1
                [display_order] => 2

            )
      ....

    etc.

我要获取的结果是数组第二层中[id]的值,因此在这种情况下,它应该返回'b298c8dee6'和'57ff19b511'(当然,数组实际上要长得多,这就是为什么我希望它循环播放。

我尝试过使用foreach循环,但不确定使用哪个值。

我希望获得数组中每个[id]的值。

代码看起来像这样,但是显然没有用

foreach($interest_group as $item) { 
    echo $item["id"]; 
}

2 个答案:

答案 0 :(得分:4)

尝试使用array_column函数: $ids = array_column($your_array["interests"], 'id');

答案 1 :(得分:2)

根据您的描述,采用PHP内置函数array_column()的以下解决方案将满足您的要求。

注意:但是,此功能仅在PHP> 5.5.0时才有效,对于早于该版本的版本,它将引发致命错误。

最终密码:

<?php
$arr = [];
$arr['interests'] = [
 0 => [
  'category_id' => 'daa4b58f91',
  'list_id' => '6e9cb28acf',
  'id' => 'b298c8dee6',
  'name' => 'Feed 1',
  'subscriber_count' => 1,
  'display_order' => 1],
 1 => [
  'category_id' => 'daa4b58f91',
  'list_id' => '6e9cb28acf',
  'id' => '57ff19b511',
  'name' => 'Feed 2',
  'subscriber_count' => 1,
  'display_order' => 2
 ]
];
$ids = array_column($arr['interests'], 'id');
echo '<pre>';print_r($ids);echo '</pre>';
?>

输出:

Array
(
    [0] => b298c8dee6
    [1] => 57ff19b511
)