陣列-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