访问多维数组,Laravel

时间:2018-09-10 12:03:53

标签: laravel multidimensional-array

我在下一段代码上遇到错误Illegal offset type(foreach方法中的情况导致错误):

 $filter = [];
 foreach ($properties[array_keys($properties)] as $prop)
     array_add($filter, array_keys($prop), $prop->id);

这就是$properties数组的样子。我想做的是将$properties中的数组元素添加到另一个数组(例如$filter['1'] = $properties['1'])中。问题在于,我永远不知道$properties内将有多少个元素(数组),而且我也不知道它们将是什么值,因此我可以访问它们。

如果有更简单的方法可以实现此目的,请随时写下来。

P.S。 id$properties中数组的元素。

1 个答案:

答案 0 :(得分:2)

对我来说,这似乎不是有效的代码。 array_keys returns a new array,您试图将其用作从$properties内部的foreach中获取价值的键

尝试一下:

$filter = [];
foreach ($properties as $key => $prop)
    $filter[$key] = $prop['id'];

编辑

如果您只想要ID,我建议使用array_pluck
它是laravels amazing helper functions

之一

它看起来像这样:

$filter = array_pluck($properties, 'id');