如果从数组创建集合:
$collection = collect();
$collection->push([
'var1'=>'value1',
'var2'=>'value2'
]);
是否有可能获得特定密钥的价值,类似于雄辩的集合属性?
$collection->var1
答案 0 :(得分:1)
我的变体:
$collection = collect();
$collection->push([
'var1'=>'value1',
'var2'=>'value2'
]);
$value = $collection->get('var1'); // value1
答案 1 :(得分:-1)
不,但你绝对可以做像
这样的事情$collection->first(function($value, $key) {
return $key == 'var1';
});
或者只是@AlexeyMezenin的建议。
$collection[0]['var1'];
答案 2 :(得分:-1)
我个人的感觉,虽然我自己仍在学习基础知识,所以不要让我失望。我知道它有一些额外的代码但是根据经验你明确地调用$collection[0]
时会遇到偏移异常错误(希望我有意义,因为这是一个个人的问题经验)
我的方法如下
$collection = collect();
$collection->push([
'var1'=>'value1',
'var2'=>'value2'
]);
for ($x = 0; $x < count($collection); $x++) {
if (isset($collection[$x])) {
$var = $collection[$x];
}
}
// Now call what ever variable from the collection you wish:
echo $var['var1'];
echo $var['var2'];
希望有所帮助,就像我说的那样,虽然我远没有使用php / laravel,我仍然从研究中学习:)
答案 3 :(得分:-1)
要在集合中设置键值,您可以使用put()
方法。
$collection = collect();
$collection->put("var1", "value1");
$collection->put("var2", "value2");
$collection->put("var3", "value3");
要仅将没有键的值推送到集合中,请使用push()
方法,就像在OP中一样。
$collection->push("value4");
要检索这些值,请使用get()
方法;
$collection->get("var2");
想要查看该系列的内容?在集合实例上使用dd()
方法。以下两项工作。
dd($collection)
或
$collection->dd()