PHP转换数组

时间:2017-02-02 19:57:43

标签: php arrays cakephp

我在php中有一个或多个数组: enter image description here

在php中是否有一种有效的方法来提取数字并获得一个如下所示的新数组:

$new_array = array(2314, 3863, 4611, 4612, 24749, 21540...)

如果我循环,我可以得到它,进入每个数组并将数字推送到另一个数组,但这似乎是一个非常复杂和混乱的方式。所以我想知道在php或cakephp中是否有更好的方法。

3 个答案:

答案 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');

Cake Docs