2011-07-01 19 views
0
Array 
(
    [1] => Array 
     (
      [0] => 1 
      [1] => none 
      [2] => none 
     ) 

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

    [3] => Array 
     (
      [0] => none 
      [1] => 2 
      [2] => 3 
     ) 

) 

こんにちは専門家は、私がチェックボックスから、この配列を持っていると私はインデックス値によって、それをエコーするすべて1つのポケットの中に0インデックス値と1で1つのインデックス値などのキーの順序、すなわち、インデックスによってエコーフォーマットさ例えばポケット[[0, 0, 0], [1, 1, 1], [2, 2, 2]] with its values like [[1, none, none], [none, 2, 2], [none, none, 3]] 誰か助けてもらえますか?まあ代わりに別のループの「破」と少し洗練されたバージョンです多次元配列は

+1

、あなたは 'for'または' foreach'演算子を使用して検討していますか? –

+0

ありがとうございます。私は試してみましたが、私はPHPの専門家ではありません。私はそれを行う方法を教えてください。私は休暇を取ることができ、MySQLに出力を挿入する必要があります。 foreachループを実行すると、1つのサブ配列の0,1,2が得られます。次に0,1,2の2番目の0,1,2の3番目の値が出力されますが、すべて0の値、すべての1の値、2つの値 – Raj

答えて

0
$myArray = array( 1 => array(0 => 1, 1 => "none", 2 => "none"),     
        2 => array(0 => "none", 1 => 2, 2 => "none"),     
        5 => array(0 => "none", 1 => 2, 2 => 3)); 

$newArray = array(); 
foreach($myArray AS $masterIndex => $childArray) 
{ 
    foreach($childArray AS $index => $value)  
    { 
     if(!isset($newArray[$index])) 
     { 
      $newArray[$index] = array(); 
     } 
     $newArray[$index][] = $value; 
    } 
} 

$outputValues = "["; 

foreach($newArray AS $childArray) 
{  
    $outputValues .= "[" . implode(",", $childArray) . "],"; 
} 
$outputValues = substr($outputValues, 0, strlen($outputValues) -1) . "]"; 
echo $outputValues; 

...

+0

ありがとう、あなたがしたことはいいですが、私は[0,1,2]を各サブアレイから出力として得ています。必要なのは、[[0、 0,0]、[1,1,1]、[2,2,2]]これらのサブ配列は投稿されたチェックボックスからのものなので、インデックスは自動的に – Raj

+0

あなたの以前のコーディングは非常に正しいですが、それは私が[[subarray0、subarray1、subarray2]]を取得していたときですが、[[subarray1_0、subarray2_0、subarray3]]などの値が必要です。 – Raj

+0

ああ。私はあなたを誤解しました。私の最新のコードは、あなたが望むように動作するはずです... –