1

私はこの配列を持っています

Array
(
[0] => Array
    (
        [0] => Name
        [1] => Email
        [2] => Address
    )

[1] => Array
    (
        [0] => vanson
        [1] => dhmax@pan.com
        [2] => gurgaon
    )

[2] => Array
    (
        [0] => john
        [1] => 
        [2] => 
    )

[3] => Array
    (
        [0] => sdf
        [1] => sdfsdf
        [2] => sdfsd
    )

)    

そして私はこれが欲しい

Array
(       [0] => Name
        [1] => Email
        [2] => Address
        [0] => vanson
        [1] => dhmax@pan.com
        [2] => gurgaon
        [0] => john
        [1] => 
        [2] => 
        [0] => sdf
        [1] => sdfsdf
        [2] => sdfsd
  )    

そのインデックスを上書きせずに

または、動的配列を作成し、同じインデックス付きの値を個々の配列に入れたい.このようなもの

$arr_1 = array(
                    [0] => Name
                    [1] => vanson
                    [2] => john
                    [3] => sdf
                    )
  $arr_2 = array(
                    [0] => Email
                    [1] => dhmax@pan.com
                    [2] => 
                    [3] => sdfsdf
                    )
   $arr_3 = array(
                    [0] => Address
                    [1] => gurgaon
                    [2] => 
                    [3] => sdfsd
                    )    

配列は、1 番目のインデックス付き配列のカウントに基づいて作成されます (例 0 番目のインデックスに 4 の配列がある場合、4 つの配列を作成する必要があります)。

4

2 に答える 2

3

PHP 配列は同じインデックスを持つ複数の値を持つことができないため、最初の提案は不可能です。

ただし、コールバック パラメータとして値をarray_map()渡すことにより、2 番目のオプションを実現できます。nullこれを行う便利なヘルパー関数を次に示します(別の質問に対するTadeckによるこの優れた回答に基づいています):

function array_transpose( $array ) {
    $array = array_merge( array( null ), array_values( $array ) );
    return call_user_func_array( 'array_map', $array );
}

$columns = array_transpose( $rows );

( codepad.org のデモ)

于 2012-12-29T05:27:48.023 に答える
-1

PHP にはarray_chunk()という関数が組み込まれています。このように使用できます。

$array = Array(Array(1=>'Name',2=>'Email'),Array(1=>'suresh',2=>'email@gmail.com'));        
echo "<pre>";print_r(array_chunk($array,1,true));
Output-
Array ( [0] => Array ( [0] => Array ( [1] => Name [2] => Email ) ) [1] => Array ( [1] => Array ( [1] => suresh [2] => email@gmail.com ) ) ) 
于 2012-12-29T05:31:55.483 に答える