我有两个数组输出(使用preg_match_all
),例如:$name[1]
和$family[1]
.
我需要把这些数组放在一起,我foreach
这样使用:
foreach( $name[1] as $name) {
foreach( $family[1] as $family) {
echo $name.$family.'<br />';
}
}
但它不起作用。
(每个foreach
循环单独工作)
假设他们有匹配的循环键:
foreach( $name as $key => $value) {
echo $value[$key] . $family[$key] . '<br />';
}
这将遍历每个匹配$name
项并将其打印出来,然后打印出与之对应$family
的内容。我不认为你想硬编码[1]
。
如果你这样做了,我有点困惑,希望看到var_dump
两者$name
和$family
澄清。
$together= array();
foreach( $name as $key => $n) {
$tuple= array('name'=>$name[$key],'family'=>$family[$key]);
$together[$key]= $tuple;
}
foreach( $together as $key => $tuple) {
echo "{$tuple['name']} {$tuple['family']}<br />";
}
通过将 keys 数组中的值用作键并将 values 数组中的值用作相应值来创建一个数组。
PHP代码:
$nameFamilly=array_combine($name[1] , $family[1]);
foreach( $nameFamilly as $name=>$familly) {
echo $name.$family.'<br />';
}