我需要在laravel电子邮件视图模板中使用以下数组
$inputs['test']
当我dd($inputs['test']);
Array:1[
"order" => array:2[
0 => 523
1 => 522
]
]
我在foreach循环中尝试了这个但是它不起作用
foreach($inputs['test']->order as $test){
echo $test;}
我需要使用什么语法来回显嵌套数组中的每个值?
答案 0 :(得分:4)
使用方括号[]访问数组值,箭头 - >访问对象上的属性
foreach($inputs['test']['order'] as $test){
echo $test;
}
答案 1 :(得分:2)
你必须使用数组而不是对象循环:
foreach($inputs['test']['order'] as $test){
echo $test;
}
答案 2 :(得分:1)
尝试
$inputs['test']['order'][0]
基本上,php将嵌套数组作为数组中的数组读取..所以无论嵌套了多少个数组,都可以使用[][][][][]
<?php
$array = array(
"foo" => "bar",
42 => 24,
"multi" => array(
"dimensional" => array(
"array" => "foo"
)
)
);
var_dump($array["foo"]);
var_dump($array[42]);
var_dump($array["multi"]["dimensional"]["array"]);
?>
你可以在循环中使用它
foreach($inputs['test']['order'] as $test){
echo $test;}
答案 3 :(得分:1)
首先你有什么是关键,什么是数组的价值
它们是回声数组的多种方式,这是一种方式
foreach($inputs['test']['order'] as $key => $test){
echo 'Key ->'.$key.'<br/>';
echo 'Value ->'. $test. '<br/>';
}
答案 4 :(得分:1)
$myEcho = function($x){
if(is_array($x)){foreach($x as $one){$myEcho($one);}
}else{ echo $x; }
};
array_map($myEcho, $inputs['test']['order']);
答案 5 :(得分:1)
只需对Arr
facade
使用辅助方法,并避免所有这些复杂情况。
例如,如果您有类似的东西
$array = ['products' => ['desk' => ['price' => 100]]];
您可以这样做
return Arr::get($array, 'products.desk.price');
,它将返回100
。最好的部分是,如果关键价格不存在,它就不会抛出错误。
所以,如果数组必须像这样
$array = ['products' => ['desk' => []];
而你做到了
return Arr::get($array, 'products.desk.price');
即使该项目不存在,它也将返回null并且没有任何错误。 如果需要,还可以设置默认值
return Arr::get($array, 'products.desk.price', 2);
如果价格不存在,它将返回2。 https://laravel.com/docs/8.x/helpers#method-array-get