2016-04-01 10 views
0

は私が配列の同じインデックスを結合しますか?

array(5) { 
    ["addcatagory"]=> 
    string(8) "CATEGORY" 
    ["reg_admin_id"]=> 
    string(2) "25" 
    ["subcatagory"]=> 
    array(2) { 
    [0]=> 
    string(9) "SUB CAT 1" 
    [1]=> 
    string(9) "sub cat 2" 
    } 
    ["subCat_Detais"]=> 
    array(2) { 
    [0]=> 
    string(9) "AAAAAAAAA" 
    [1]=> 
    string(8) "BBBBBBBB" 
    } 
    ["submit"]=> 
    string(15) "Submit Catagory" 
} 

array(1) { 
    ["subCatFile1"]=> 
    array(5) { 
    ["name"]=> 
    array(3) { 
     [0]=> 
     string(5) "2.jpg" 
     [1]=> 
     string(5) "3.jpg" 
     [2]=> 
     string(0) "" 
    } 
    ["type"]=> 
    array(3) { 
     [0]=> 
     string(10) "image/jpeg" 
     [1]=> 
     string(10) "image/jpeg" 
     [2]=> 
     string(0) "" 
    } 
    ["tmp_name"]=> 
    array(3) { 
     [0]=> 
     string(18) "/var/tmp/phpN5ENy2" 
     [1]=> 
     string(18) "/var/tmp/phpRyJdcc" 
     [2]=> 
     string(0) "" 
    } 
    ["error"]=> 
    array(3) { 
     [0]=> 
     int(0) 
     [1]=> 
     int(0) 
     [2]=> 
     int(4) 
    } 
    ["size"]=> 
    array(3) { 
     [0]=> 
     int(65101) 
     [1]=> 
     int(49550) 
     [2]=> 
     int(0) 
    } 
    } 
} 

は今、私が達成したいものを1列に第二中1つのsubcatagoryの指標とsubcat_detailsの0 subcatagoryの指標とsubcat_detailsを兼ね備えている配列$ _POSTを以下しています配列など... どのように私はこれを達成することができますか?それは可能ですか?

期待

array('name' => 'SUB CAT 1', 
     'details' => 'AAAAAAAAA', 
     'image_name'=>'2.jpg' 
    ); 

array('name' => 'SUB CAT 2', 
     'details' => 'BBBBBBB', 
     'image_name'=>'2.jpg' 
    ); 
+0

期待される結果を示してください。 –

+0

'count($ _ POST [" subcatagory "])'は常に 'count($ _ POST [" subCat_Detais "])'と同じですか? – Sean

+0

@Seanええ、私はそれらのカウントを常に等しくするでしょう。 –

答えて

1

これは、単純なforeach()ループで行うことができます -

$newArray = []; 
foreach($_POST["subcatagory"] as $key => $value) { 
    $newArray[] = array("name" => $_POST["subcatagory"][$key], 
         "details" => $_POST["subCat_Detais"][$key]); 
} 

@CharlotteDunoisが述べたように、あなたはまた、限り、あなたはシーケンシャル持っているように、for()ループを使用することができますキーがなく、キーがない -

$newArray = []; 
for($i=0;$i<count($_POST["subcatagory"]);$i++) { 
    $newArray[] = array("name" => $_POST["subcatagory"][$i], 
         "details" => $_POST["subCat_Detais"][$i]); 
} 
+0

forループはキーを使うだけで、ここではうまくいかないでしょうか? –

+0

私はそれのためにビールを提供したいと思っています。魅力のように動作します;) –

+0

@CharlotteDunois私は「良い」主観的だと思います。私は通常、 'foreach()'を行います。なぜなら、配列に逐次キーがないと問題を防ぐからです。配列の値がjavascriptを使って動的に追加または削除された場合、キーが見つからない可能性があります。 – Sean

関連する問題