PHP 需要嵌套数组列表
PHP nested array list needed
我正在尝试通过 foreach 循环两个值。我在 php.net 上找到了一个很好的例子,但是当我尝试实现它时,它显示为错误代码。
$array = [
[1, 2],
[3, 4],
];
foreach ($array as list($a, $b)) {
echo "A: $a; B: $b\n";
}
应该给你:
A: 1; B: 2
A: 3; B: 4
见http://php.net/manual/en/control-structures.foreach.php
出于我的目的,我正在尝试这样做:
$array = [
[$csal, Salary],
[$ccar, Car],
];
foreach ($array as list($a, $b)) {
if($$a==NULL){$$ap="$b";
}
}
我想等于
if($csal==NULL){$csal="Salary";
}
if($ccar==NULL){$ccarp="Car";
}
我试过用 ( 换掉括号,但没有成功。
foreach
循环 return,对于每一行,键索引和值。
因此,在您的第一个示例中:
foreach( $array as list( $a, $b ) )
在第一个循环中 $a
是 0(第一个键)并且 $b
是 [1, 2]
,第一个子数组。
你必须使用嵌套循环:
foreach( $array as list( $key, $val ) )
{
foreach( $val as list( $key1, $val1 ) )
{
echo "[$key][$key1]: $val1";
}
}
或者——如我所愿——以老式的方式:
foreach( $array as $key => $val )
{
foreach( $val as $key1 => $val1 )
{
(...)
}
}
显然,你的第二个例子也有同样的误解。
$array = [
[1, 2],
[3, 4],
];
foreach ($array as list($a, $b)){}
in $array,你也使用了错误的语法来赋值
你在 foreach 函数 中所做的是你将数组的值分配给一个名为 list() 的函数,这是错误的...
您需要像这样编辑您的代码
$array = array(array(1,2),array(3,4));
foreach ($array as $list) {
echo "A:$list[0] B:$list[1]";
}
希望这会有所帮助...
我正在尝试通过 foreach 循环两个值。我在 php.net 上找到了一个很好的例子,但是当我尝试实现它时,它显示为错误代码。
$array = [
[1, 2],
[3, 4],
];
foreach ($array as list($a, $b)) {
echo "A: $a; B: $b\n";
}
应该给你:
A: 1; B: 2
A: 3; B: 4
见http://php.net/manual/en/control-structures.foreach.php
出于我的目的,我正在尝试这样做:
$array = [
[$csal, Salary],
[$ccar, Car],
];
foreach ($array as list($a, $b)) {
if($$a==NULL){$$ap="$b";
}
}
我想等于
if($csal==NULL){$csal="Salary";
}
if($ccar==NULL){$ccarp="Car";
}
我试过用 ( 换掉括号,但没有成功。
foreach
循环 return,对于每一行,键索引和值。
因此,在您的第一个示例中:
foreach( $array as list( $a, $b ) )
在第一个循环中 $a
是 0(第一个键)并且 $b
是 [1, 2]
,第一个子数组。
你必须使用嵌套循环:
foreach( $array as list( $key, $val ) )
{
foreach( $val as list( $key1, $val1 ) )
{
echo "[$key][$key1]: $val1";
}
}
或者——如我所愿——以老式的方式:
foreach( $array as $key => $val )
{
foreach( $val as $key1 => $val1 )
{
(...)
}
}
显然,你的第二个例子也有同样的误解。
$array = [
[1, 2],
[3, 4],
];
foreach ($array as list($a, $b)){}
in $array,你也使用了错误的语法来赋值 你在 foreach 函数 中所做的是你将数组的值分配给一个名为 list() 的函数,这是错误的...
您需要像这样编辑您的代码
$array = array(array(1,2),array(3,4));
foreach ($array as $list) {
echo "A:$list[0] B:$list[1]";
}
希望这会有所帮助...