【发布时间】:2021-12-29 03:36:21
【问题描述】:
如果我有一个这样的数组$array:
Array (
[0] => Array (
[id] => 11
[name] => scifi
)
[1] => Array (
[id] => 12
[name] => documetary
)
[2] => Array (
[id] => 10
[name] => comedy
)
)
我怎么能把它变成简单的:
Array ( 11, 12, 10 ) 没有键值对。
我试图从每个数组中仅提取 id 并将它们添加到 1 个数组中。我正在尝试使用 foreach;
$ids = [];
if ( $array ) {
foreach ( $array as $item ) {
$ids[] = $term->id;
}
}
print_r($ids);
它只返回 3 个空数组 Array ( [0] => [1] => [2] => )
【问题讨论】:
-
@CBroe 谢谢,这是一个很酷的功能!但它仍然返回更多数组
Array ( [0] => 11 [1] => 12 [2] => 10 ),而不是仅返回 1 个数组中的 id。现在我应该循环过去吗? -
你似乎很困惑,
array_column()返回一个包含三个键值对的数组 - 即结果符合预期1 个数组中的 ids。 -
一个数组将 always 有 1 个或多个键值对。也许你真的需要一个字符串:
"11, 12, 10"?或具有一个键值对的数组:[0] => "11, 12, 10"? -
$array = array_column($array, 'id');或$string = implode(', ', array_column($array, 'id'));