在php中是否有一种有效的方法来提取数字并获得一个如下所示的新数组:
$new_array = array(2314, 3863, 4611, 4612, 24749, 21540...)
如果我循环,我可以得到它,进入每个数组并将数字推送到另一个数组,但这似乎是一个非常复杂和混乱的方式。所以我想知道在php或cakephp中是否有更好的方法。
答案 0 :(得分:4)
如果你有PHP 5> = 5.5.0或PHP 7 - 使用array_column
:
$numbers = array_column($viewable_collection_ids, 'collection_id');
否则foreach
是可接受的解决方案,或者:
$numbers = array_map(function($v) { return $v['collection_id']; }, $viewable_collection_ids);
答案 1 :(得分:3)
只需遍历它并获取每个数字。
<?php
$firstArray = /*...*/;
$newarray = array();
foreach($firstArray AS $key => $value) {
$newarray[] = $value['collection_id'];
}
?>
答案 2 :(得分:1)
由于您标记了cakephp
,因此Cake提供了Hash
类,可以为您执行此操作。
$newArray = Hash::extract($viewable_collection_ids, '{n}.collection_id');