2016-04-01 31 views
0

Bendizi aynı dizini birleştirir?

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" 
} 

ve

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) 
    } 
    } 
} 

şimdi elde etmek istediğinizi bir dizide ve ikinci 1 subcatagory endeksi ve subcat_details 0 subcatagory dizinini ve subcat_details birleştirmek olduğunu dizisi $ _POST aşağıdakilere sahip dizi ve benzeri ... bunu nasıl başarabilirim? mümkün mü? As @CharlotteDunois söz

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

, ayrıca sürece sıralı olması gibi bir for() döngü kullanabilirsiniz -

Beklentiler

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

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

Lütfen tahmini çıktınızı gösterin. –

+0

sayılır ($ _ POST ["alt") "), her zaman" count ($ _ POST ["subCat_Detais"]) 'ile aynı olur. – Sean

+0

@Sean evet sayımlarını her zaman eşit hale getireceğim .. –

cevap

1

Bu basit foreach() döngü ile yapılabilir anahtarsız, anahtarsız -

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

Sadece anahtarı kullandığınız için, for döngüsünün daha iyi olması gerekmez mi? Bunun için bir bira teklif edersem –

+0

. Bir çekicilik gibi çalışır;) –

+0

@CharlotteDunois Sanırım 'daha iyi' özneldir. Diziler sıralı anahtarları yoksa sorunları önlediğinden, genellikle foreach() işlevini kullanırım. Eğer dizi değerleri javascript ile dinamik olarak eklenirse ve/veya silinirse, eksik bir anahtarınız olabilir. – Sean

İlgili konular