Php 数组映射和数组映射组合用于两个以上的数组
众所周知,Php 数组映射和数组映射组合用于两个以上的数组,php,arrays,Php,Arrays,众所周知,array\u combine仅用于两个数组。比如说 $name = array('John','Brian','Raj'); $salary = array('500','1000','2000'); $details = array_combine($name, $salary); foreach($details AS $name => $salary){ echo $name."'s salary is ".$salary."<br/>"; } 在这种情况下
array\u combine
仅用于两个数组。比如说
$name = array('John','Brian','Raj');
$salary = array('500','1000','2000');
$details = array_combine($name, $salary);
foreach($details AS $name => $salary){ echo $name."'s salary is ".$salary."<br/>";
}
在这种情况下,仅使用array\u combine
是不够的,因此我发现array\u map
是更好的解决方案。但是如何回显array\u map
结果呢?如何访问array\u map
生成的数组值,并根据个人需求获取
$details = array_map(function($item) {
return array_combine(['name', 'salary', 'dpart', 'address'], $item);
}, array_map(null, $name, $salary, $dpart, $address));
现在的要求是使用单独的值访问所有四个数组。比如说
$name.”的薪水是“$salary.”,地址是“$address.”,离职是“$dpart”
不将以下各项合并起来可能很简单:
<?php
$name = array('John','Brian','Raj');
$salary = array('500','1000','2000');
$dpart = array('HTML','CSS','PHP');
$address = array('Floor 3','Floor 5','Floor 6');
foreach($name as $k => $v)
printf(
"%s's salary is %d, address is %s, depart is %s\n",
$name[$k],
$salary[$k],
$dpart[$k],
$address[$k]
);
您可以在数组映射中循环,并使用列表或项索引:
foreach(array_map(null, $name, $salary, $dpart, $address) as $item) {
list($n, $s, $d, $a) = $item;
print "$n's salary is $s, address is $d, depart is $a\n";
}
不将以下各项结合起来可能同样简单:
<?php
$name = array('John','Brian','Raj');
$salary = array('500','1000','2000');
$dpart = array('HTML','CSS','PHP');
$address = array('Floor 3','Floor 5','Floor 6');
foreach($name as $k => $v)
printf(
"%s's salary is %d, address is %s, depart is %s\n",
$name[$k],
$salary[$k],
$dpart[$k],
$address[$k]
);
您可以在数组映射中循环,并使用列表或项索引:
foreach(array_map(null, $name, $salary, $dpart, $address) as $item) {
list($n, $s, $d, $a) = $item;
print "$n's salary is $s, address is $d, depart is $a\n";
}
您只需使用
foreach
即可访问结果。循环$details
as
foreach($details as $item) {
$name = $item['name'];
$salary = $item['salary'];
$dpart = $item['dpart'];
$address = $item['address'];
echo $name."'s salary is ".$salary.", address is ".$address.", depart is ".$dpart."<br/>";
}
foreach($item的详细信息){
$name=$item['name'];
$salary=$item['salary'];
$dpart=$item['dpart'];
$address=$item['address'];
echo$name.“.的薪水是“$salary.”,地址是“$address.”,出发是“$dpart.”
”;
}
或者在循环中没有赋值:
foreach($details as $item)
print "{$item['name']}'s salary is {$item['name']}, address is {$item['dpart']}, depart is {$item['address']}<br/>";
foreach($item的详细信息)
打印“{$item['name']}的工资为{$item['name']},地址为{$item['dpart']},离职为{$item['address']}
”;
您只需使用foreach
即可访问结果。循环$details
as
foreach($details as $item) {
$name = $item['name'];
$salary = $item['salary'];
$dpart = $item['dpart'];
$address = $item['address'];
echo $name."'s salary is ".$salary.", address is ".$address.", depart is ".$dpart."<br/>";
}
foreach($item的详细信息){
$name=$item['name'];
$salary=$item['salary'];
$dpart=$item['dpart'];
$address=$item['address'];
echo$name.“.的薪水是“$salary.”,地址是“$address.”,出发是“$dpart.”
”;
}
或者在循环中没有赋值:
foreach($details as $item)
print "{$item['name']}'s salary is {$item['name']}, address is {$item['dpart']}, depart is {$item['address']}<br/>";
foreach($item的详细信息)
打印“{$item['name']}的工资为{$item['name']},地址为{$item['dpart']},离职为{$item['address']}
”;
这很酷,也许第一种方式也比组合快,不是吗?我怀疑速度是个问题。但这并不是什么阵列争论。许多这样的数组的问题是,它们必须有相同的项和正确的对应元素。你们能不能先从多维数组开始?这很酷,也许第一种方法也比组合更快,不是吗?我怀疑速度是个问题。但这并不是什么阵列争论。许多这样的数组的问题是,它们必须有相同的项和正确的对应元素。您不能从多维数组开始吗?请注意第一个示例会删除初始数组。请注意第一个示例会删除初始数组。