Laravel PHP中如何向数组内推送对象?
问题分析与解决
你这段代码的核心问题是:定义了普通PHP数组,却调用了对象专属的push()方法,这在PHP中是不被允许的,会触发错误。
两种可行解决方式
方式一:使用PHP原生数组语法
如果继续使用普通数组,直接通过[]语法追加元素即可:
$prodectsum = array(); // 更简洁的写法:$prodectsum = []; $prodectsum[] = (object)['name' => 'mmm', 'color' => 'red'];
方式二:使用Laravel集合(推荐)
在Laravel开发中,更推荐使用Collection类,它提供了大量便捷的链式操作方法,其中就包含push():
// 初始化空集合 $prodectsum = collect(); // 推送对象类型元素 $prodectsum->push((object)['name' => 'mmm', 'color' => 'red']);
若后续需要将集合转换为普通PHP数组,只需调用$prodectsum->toArray()方法即可。
内容的提问来源于stack exchange,提问作者Moayed Alharazeen
相关产品推荐
相关产品推荐

