1

3 つの配列があり、それを 1 つの多次元配列に変換するのが好きです。

$array1=array('Kathy', 'Adam', 'Jenny');
$array2=array('student','teacher','driver');
$array3=array(2, 5, 8);

$mix=array(); 
$mix['name']=array_values( $array1);
$mix['profession']=array_values( $array2);
$mix['SL']=array_values( $array3);

&これらの配列から、以下の出力を取得できます:

Array
(
[name] => Array
    (
        [0] => Kathy
        [1] => Adam
        [2] => Jenny
    )

[profession] => Array
    (
        [0] => student
        [1] => teacher
        [2] => driver
    )

[SL] => Array
    (
        [0] => 2
        [1] => 5
        [2] => 8
    )

   )

今、私は上から下の出力を得たいと思っています...誰かが私にこれを行う方法を教えてください?

     [0]=>Array
      (
         [name] =>  Kathy
         [profession] =>student
         [SL] => 2
    )

    [1]=>Array
    (    
         [name] => Adam
         [profession] =>teacher
         [SL] =>  5
     )

    [2]=>Array
    (
         [name] => Jenny
         [profession] =>driver
         [SL] =>  8
    )
4

4 に答える 4

2
$array1=array('Kathy', 'Adam', 'Jenny');
$array2=array('student','teacher','driver');
$array3=array(2, 5, 8);
$mix = array();

foreach ($array1 as $index => $val)
{
    $mix[] = array(
    'name' => $val, 
    'profession' => $array2[$index], 
    'SL' => $array3[$index]);
}
于 2012-12-24T09:25:05.657 に答える
0

問題ありません。次のコードを使用できます。

$array1=array('Kathy', 'Adam', 'Jenny');
$array2=array('student','teacher','driver');
$array3=array(2, 5, 8);

$mix=array();

if (count($array1)==count($array2) && count($array2)==count($array3)){
    $count = count($array1);
    for ($i=0;$i<$count;$i++){
        $mix[] = array(
            'name' => isset($array1[$i]) ? $array1[$i] : '',
            'profession' => isset($array2[$i]) ? $array2[$i] : '',
            'SL' => isset($array3[$i]) ? $array3[$i] : '',
        );
    }
}
于 2012-12-24T09:25:02.987 に答える