如何访问嵌套数组值
How to access nested array values
我需要在 laravel 电子邮件视图模板中使用以下数组
$inputs['test']
当我 dd($inputs['test']);
时看起来像这样
Array:1[
"order" => array:2[
0 => 523
1 => 522
]
]
我已经在我的 foreach 循环中试过了,但它不起作用
foreach($inputs['test']->order as $test){
echo $test;}
我需要什么语法来回显顺序嵌套数组中的每个值?
尝试
$inputs['test']['order'][0]
基本上,php 将嵌套数组读取为数组中的数组.. 所以无论嵌套了多少数组,您始终可以使用 [][][][][]
示例 #6 访问数组元素
<?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;}
你必须使用数组而不是对象循环:
foreach($inputs['test']['order'] as $test){
echo $test;
}
您使用方括号 [] 访问数组值,箭头 -> 访问对象的属性
foreach($inputs['test']['order'] as $test){
echo $test;
}
首先你知道什么是键,什么是数组的值
它们有多种方式来回显数组这是一种方式
foreach($inputs['test']['order'] as $key => $test){
echo 'Key ->'.$key.'<br/>';
echo 'Value ->'. $test. '<br/>';
}
$myEcho = function($x){
if(is_array($x)){foreach($x as $one){$myEcho($one);}
}else{ echo $x; }
};
array_map($myEcho, $inputs['test']['order']);
只需使用 Arr
facade
的辅助方法即可避免所有这些并发症。
例如,如果您有
$array = ['products' => ['desk' => ['price' => 100]]];
你可以做到这一点
return Arr::get($array, 'products.desk.price');
它会 return 100
。最好的部分是如果关键价格不存在,它不会抛出错误。
所以,如果数组必须像这样
$array = ['products' => ['desk' => []];
你做到了
return Arr::get($array, 'products.desk.price');
它会 return 为 null 而不是任何错误,即使该项目不存在。
如果你想这样,你也可以设置一个默认值
return Arr::get($array, 'products.desk.price', 2);
如果价格不存在,这将是 return2。
https://laravel.com/docs/8.x/helpers#method-array-get
data_get($mainArrayName, '.nestedArrayName..NestedArrayKeyName');
试一试..希望这个工作
这里不需要 foreach
我需要在 laravel 电子邮件视图模板中使用以下数组
$inputs['test']
当我 dd($inputs['test']);
Array:1[
"order" => array:2[
0 => 523
1 => 522
]
]
我已经在我的 foreach 循环中试过了,但它不起作用
foreach($inputs['test']->order as $test){
echo $test;}
我需要什么语法来回显顺序嵌套数组中的每个值?
尝试
$inputs['test']['order'][0]
基本上,php 将嵌套数组读取为数组中的数组.. 所以无论嵌套了多少数组,您始终可以使用 [][][][][]
示例 #6 访问数组元素
<?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;}
你必须使用数组而不是对象循环:
foreach($inputs['test']['order'] as $test){
echo $test;
}
您使用方括号 [] 访问数组值,箭头 -> 访问对象的属性
foreach($inputs['test']['order'] as $test){
echo $test;
}
首先你知道什么是键,什么是数组的值
它们有多种方式来回显数组这是一种方式
foreach($inputs['test']['order'] as $key => $test){
echo 'Key ->'.$key.'<br/>';
echo 'Value ->'. $test. '<br/>';
}
$myEcho = function($x){
if(is_array($x)){foreach($x as $one){$myEcho($one);}
}else{ echo $x; }
};
array_map($myEcho, $inputs['test']['order']);
只需使用 Arr
facade
的辅助方法即可避免所有这些并发症。
例如,如果您有
$array = ['products' => ['desk' => ['price' => 100]]];
你可以做到这一点
return Arr::get($array, 'products.desk.price');
它会 return 100
。最好的部分是如果关键价格不存在,它不会抛出错误。
所以,如果数组必须像这样
$array = ['products' => ['desk' => []];
你做到了
return Arr::get($array, 'products.desk.price');
它会 return 为 null 而不是任何错误,即使该项目不存在。 如果你想这样,你也可以设置一个默认值
return Arr::get($array, 'products.desk.price', 2);
如果价格不存在,这将是 return2。 https://laravel.com/docs/8.x/helpers#method-array-get
data_get($mainArrayName, '.nestedArrayName..NestedArrayKeyName');
试一试..希望这个工作 这里不需要 foreach