将数组中每个元素的属性添加到新数组中


Add property of each element in array to a new array

我正在使用CakePHP创建一个产品数据库系统。在 CakePHP 中,我在"产品"表中有一个包含所有产品的数组。每个产品('products'数组中的一个元素)都有一个函数'toArray()'。这会将产品转换为关联数组。我怎样才能获取所有产品的数组并将每个产品的"toArray()"添加到新数组中。这是我当前的流程:

$products = [$product1, $product2, $product3];
$newArr = [];
foreach($products as $product) {
    $newArr[] = $product->toArray();
}

这样的事情有单行吗?

我认为你不能完全一行(无论如何,没有功能化它),但你不需要复制数据,除非你需要保持原始格式以及重新格式化的版本。

foreach($products as $key => $product){
    $products[$key] = $product->toArray();
}

将现有数组更改为重新格式化的版本。