按ID合并两个PHP数组
我有两个数组从两个foreach循环中获取按ID合并两个PHP数组,php,arrays,merge,union,Php,Arrays,Merge,Union,我有两个数组从两个foreach循环中获取 Array ([0] => Young Boys [1] => Vidi FC [2] => Ajax [3] => Independiente) Array ([0] => Dinamo Zagreb [1] => AEK Athens [2] => Dynamo Kyiv [3] => Santos FC) PHP代码 foreach($html->find('.col-home a') a
Array ([0] => Young Boys [1] => Vidi FC [2] => Ajax [3] => Independiente)
Array ([0] => Dinamo Zagreb [1] => AEK Athens [2] => Dynamo Kyiv [3] => Santos FC)
PHP代码
foreach($html->find('.col-home a') as $element)
$array1[] = $element->plaintext;
foreach($html->find('.col-guest a') as $element2)
$array2[] = $element2->plaintext;
我怎样才能得到这个结果
Young Boys - Dinamo Zagreb
Vidi FC - AEK Athens
Ajax - Dynamo Kyiv
Independiente - Santos FC
谢谢 使用
for
循环遍历一个数组,使用索引访问另一个数组,并将它们组合到结果数组中
编辑:您还可以在循环中添加一个isset
检查,以确保不会访问第二个数组中不可用的索引,如
for($i = 0; $i < count($a1); $i++) {
if(isset($a1[$i]) && isset($a2[$i])) {
$result[] = $a1[$i] . ' - ' . $a2[$i];
}
}
($i=0;$i{
if(isset($a1[$i])和&isset($a2[$i]){
$result[]=$a1[$i].-'.$a2[$i];
}
}
使用for
循环遍历一个数组,使用索引访问另一个数组,并将它们组合到结果数组中
编辑:您还可以在循环中添加一个isset
检查,以确保不会访问第二个数组中不可用的索引,如
for($i = 0; $i < count($a1); $i++) {
if(isset($a1[$i]) && isset($a2[$i])) {
$result[] = $a1[$i] . ' - ' . $a2[$i];
}
}
($i=0;$i{
if(isset($a1[$i])和&isset($a2[$i]){
$result[]=$a1[$i].-'.$a2[$i];
}
}
遍历一个数组,从另一个数组中找到索引相同的项:
foreach ($array1 as $index => $val1)
echo $val1.' - '.$array2[$index].'<br />';
foreach($array1作为$index=>$val1)
echo$val1'.-'.$array2[$index].
;
如果不确定数组的长度是否相同,可以使用较长(或较短)的数组:
$count=max(count($array1)、count($array2));
对于($i=0;$i<$count;$i++)
echo(isset($array1[$i])?$array1[$i]:“”)。-”(isset($array2[$i])?$array2[$i]:“”)。
;
编辑:由于@Xatenev的评论,使用了
isset()
而不是@
。浏览一个数组并从另一个数组中找到具有相同索引的项:
foreach ($array1 as $index => $val1)
echo $val1.' - '.$array2[$index].'<br />';
foreach($array1作为$index=>$val1)
echo$val1'.-'.$array2[$index].
;
如果不确定数组的长度是否相同,可以使用较长(或较短)的数组:
$count=max(count($array1)、count($array2));
对于($i=0;$i<$count;$i++)
echo(isset($array1[$i])?$array1[$i]:“”)。-”(isset($array2[$i])?$array2[$i]:“”)。
;
编辑:由于@Xatenev的评论,使用了isset()
而不是@
。试试这个
$a = array( 'Young Boys' ,'Vidi FC' , 'Ajax' , 'Independiente');
$b = array( 'Dinamo Zagreb', 'AEK Athens', 'Dynamo Kyiv', 'Santos FC');
foreach ($a as $key => $val){
echo $val.' - '.$b[$key];
echo '<br />';
}
$a=array('youngboys'、'Vidi FC'、'Ajax'、'independent');
$b=阵列(‘萨格勒布迪纳摩’、‘雅典AEK’、‘基辅迪纳摩’、‘桑托斯足球俱乐部’);
foreach($a作为$key=>$val){
回显$val.'-'.$b[$key];
回声“
”;
}
试试这个
$a = array( 'Young Boys' ,'Vidi FC' , 'Ajax' , 'Independiente');
$b = array( 'Dinamo Zagreb', 'AEK Athens', 'Dynamo Kyiv', 'Santos FC');
foreach ($a as $key => $val){
echo $val.' - '.$b[$key];
echo '<br />';
}
$a=array('youngboys'、'Vidi FC'、'Ajax'、'independent');
$b=阵列(‘萨格勒布迪纳摩’、‘雅典AEK’、‘基辅迪纳摩’、‘桑托斯足球俱乐部’);
foreach($a作为$key=>$val){
回显$val.'-'.$b[$key];
回声“
”;
}
在foreach中使用最长的数组
foreach($array2 as $k =>$v){
$concrat[$v] = $array1[$k];
}
获取foreach中最长的数组
foreach($array2 as $k =>$v){
$concrat[$v] = $array1[$k];
}
为什么你推荐错误抑制而不是添加isset?@Xatenev:因为坏习惯:-(
isset()
会更快,总体上更好,谢谢你指出。为什么你推荐错误抑制而不是添加isset?@Xatenev:因为坏习惯:-(isset())
会更快,总体上更好,谢谢你指出这一点。