我需要帮助从一组数组中提取所有['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"];
}
答案 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
)