2016-03-21 13 views
-1

次の配列形式を使用しています。私は2つのユーザーIDを持っています。私はuseridに従ってこの配列を改造したい。PHPで配列形式を変更してください

私はPHPの配列の下にあります

Array 
(
[808] => Array 
    (
     [0] => 1 
     [1] => 1 
     [2] => 1 
     [3] => 1 
     [4] => 0 
    ) 

[766] => Array 
    (
     [0] => 0 
     [1] => 1 
     [2] => 0 
     [3] => 0 
     [4] => 1 
    ) 
) 

と私はそれが形式の下でになりたい:

Array 
(
[0] => Array 
    (
     [808] => 1 
     [766] => 0 
    ) 
[1] => Array 
    (
     [808] => 1 
     [766] => 1 
    )  
[2] => Array 
    (
     [808] => 1 
     [766] => 0 
    ) 
[3] => Array 
    (
     [808] => 1 
     [766] => 0 
    ) 
[4] => Array 
    (
     [808] => 0 
     [766] => 1 
    ) 

) 
+3

? Stackoverflowはコードを提供するためのものではありません。ここでは、その方法を理解するのに役立ちます。 –

+0

これは実際の配列形式ではありません。以前は何か違っていましたが、foreachループを使ってこのようにするために修正しました。しかし、今私は立ち往生した、私はこの配列を改革することはできません。助けてください –

答えて

1

はこれを試してみてください:

<?php 
$array = Array 
(
808 => Array 
    (
     '0' => 1, 
     '1' => 1, 
     '2' => 1, 
     '3' => 1, 
     '4' => 0 
    ), 

766 => Array 
    (
     '0' => 0, 
     '1' => 1, 
     '2' => 0, 
     '3' => 0, 
     '4' => 1, 
    ) 
); 

$result = array(); 

foreach($array as $key => $subarray) 
{ 
    foreach($subarray as $subkey =>$subvalue) 
    { 
     if(!isset($result[$subkey])) 
      $result[$subkey] = array(); 

     $result[$subkey][$key] = $subvalue; 
    } 
} 


echo '<pre>'; 
print_r($result); 
echo '</pre>'; 

出力:

Array 
(
    [0] => Array 
     (
      [808] => 1 
      [766] => 0 
     ) 

    [1] => Array 
     (
      [808] => 1 
      [766] => 1 
     ) 

    [2] => Array 
     (
      [808] => 1 
      [766] => 0 
     ) 

    [3] => Array 
     (
      [808] => 1 
      [766] => 0 
     ) 

    [4] => Array 
     (
      [808] => 0 
      [766] => 1 
     ) 

) 

の作業例:あなたがこれまでに試してみました何CLICK!

+0

、ありがとう、ありがとう、働く –

0

あなたはこのように行うことができます。

$ids = array_keys($your_array); 
$new_array = array(); 
foreach($i=0; $i<count($your_array[0]); $i++){ 
    foreach($ids as $id){ 
     $new_array[][$id] = $your_array[$id][$i]; 
    } 
} 
関連する問題