2012-01-13 24 views

答えて

1

質問は、おそらく非常に明確ではありませんが、あなたはこれが欲しい:

$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:2つの配列$ aと

$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"; 
} 

編集B $のための

Array 
(
    [1] => Array 
     (
      [0] => A 
      [1] => a 
     ) 
    [2] => Array 
     (
      [0] => B 
      [1] => a 
     ) 
    [3] => Array 
     (
      [0] => C 
      [1] => a 
     ) 
    [4] => Array 
    (
     [0] => D 
     [1] => 
    ) 
) 
+0

結果の配列にもう1つの列を追加する必要があります。その列には、同じキー値で最初の配列と異なる名前だけが印刷されます – user1148297

+0

できますpls PHPでarray1とarray2をどうやって格納しているのか教えてください。 – anubhava

0

、または新しいアレイの "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] : '' 
    ); 
} 
0

を作成したい場合、私は見ますソリューションの問題:

  • は、Array-1にArray-2のいくつかのキーがない可能性はありませんか?

だから私は、もう少し複雑なソリューションを提案:

$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 
    ); 
} 
+0

はい、配列2は配列1と同じキーを持っていないかもしれません。 – user1148297

+0

私はあなたがHTMLに出力する必要があることが分かりました。これは配列をまとめて配置するだけで、結果配列を通ってテーブルを出力する必要があります。 –

0
<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> 
関連する問題