阵列-1
ID名称
1 ABC
2 DEF
3 GHI
4 PQR
5 XYZ附加两个不同的数组,它们可以具有相同的ID但不同的值?
ARRAY2
ID名称
1 ABC
3 GHI
5 xyz
结果
ID名称的名称
1 ABC ABC
2 DEF -
3 GHI GHI
4 PQR -
5 XYZ XYZ
阵列-1
ID名称
1 ABC
2 DEF
3 GHI
4 PQR
5 XYZ附加两个不同的数组,它们可以具有相同的ID但不同的值?
ARRAY2
ID名称
1 ABC
3 GHI
5 xyz
结果
ID名称的名称
1 ABC ABC
2 DEF -
3 GHI GHI
4 PQR -
5 XYZ XYZ
问题不是很清楚,但可能你想这样的:
$a=array("1" => "A", "2" => "B", "3" => "C", "4" => "D");
$b=array("1" => "a", "2" => "a", "3" => "a");
$ab = array();
foreach($a as $key => $value) {
$ab[$key] = array($a[$key], $b[$key]);
}
print_r($ab);
UPDATE:
Array
(
[1] => Array
(
[0] => A
[1] => a
)
[2] => Array
(
[0] => B
[1] => a
)
[3] => Array
(
[0] => C
[1] => a
)
[4] => Array
(
[0] => D
[1] =>
)
)
我需要在结果数组中添加一列,并在该列中,我只打印与第一个数组具有相同键值的不同名称 – user1148297 2012-01-13 19:08:09
您能否请求告诉我你是如何在PHP中存储array1和array2的。 – anubhava 2012-01-13 19:14:09
两个数组$ a和$ b
$n = max(count($a), count($b))
for ($i=0; $i<$n; $i++) {
echo "$i\t";
echo ! empty($a[$i]) ? $a[$i] : '';
echo "\t";
echo ! empty($b[$i]) ? $b[$i] : '';
echo "\n";
}
编辑,或者如果你想创建一个新的数组 “RET”
$ret = array();
$n = max(count($a), count($b))
for ($i=0; $i<$n; $i++) {
$ret[] = array(
"id" => $i,
"a" => ! empty($a[$i]) ? $a[$i] : '',
"b" => ! empty($b[$i]) ? $b[$i] : ''
);
}
我见解决方案中的问题:
所以我建议稍微更复杂的解决方案:
$array_out = array();
$all_keys = array_unique(array_merge(array_keys($array1), array_keys($array2)));
foreach($all_keys as $key)
{
$array_out[$key] = array(
'UPPER' => array_key_exists($key, $array1) ? $array1[$key] : null,
'lower' => array_key_exists($key, $array2) ? $array2[$key] : null
);
}
是的,阵列2可能与阵列1没有相同的密钥。 – user1148297 2012-01-13 19:11:02
我刚看到你需要它输出到HTML。这只是将数组放在一起,您将需要遍历结果数组并输出表。 – 2012-01-13 19:43:34
<html>
<nada nada>
<body>
<nada nada>
<table>
<?php
foreach ($array1 as $k=>$v) {
$vv=isset($array2[$k])?$array2[$k]:'--';
?>
<tr>
<td><?php echo $k; ?></td>
<td><?php echo $v; ?></td>
<td><?php echo $vv; ?></td>
</tr>
<?php
}
?>
</table>
<nada nada>
</body></html>
请您阐述的结果:这是一种数据结构,网络输出,无论? – 2012-01-13 18:45:10
这将是三维不同的列网表输出 – user1148297 2012-01-13 19:10:20