2016-09-20 75 views
0

如何遍歷數組來創建用PHP一個新的關聯數組用於插入樞軸表中laravel創建用PHP一個新的關聯數組如何通過陣列來迭代使用laravel

例如 $ ARR = [3,2,3] //這是產品的產品數量在車

,並希望將其添加到一個關聯數組是像

$arr = ('quantity'=> 1) 

,所以我試着遍歷數組並添加元素到一個新的數組中,並添加該值,但保持laravel所需的相同密鑰

$ newArr = array();但這是一個數組和子數組。

謝謝

+0

你知道你不能有一個數組,其中每個鍵是相同的(數量)? –

+0

更改您的輸入示例,並根據該輸入向我們展示您想要的預期結果? –

回答

0

隨着你的嘗試;您將始終只在您的結果數組中獲得一個元素(最後一個元素:準確而言)。這是因爲密鑰是相同的,並且每個後續密鑰都會覆蓋前一個密鑰。

在這種情況下,如果您需要關聯數組;只要您希望將數量作爲關鍵字,您可能不得不與多維數組一起生活。否則,您可以簡單地將前綴或後綴關鍵字獲得單個關聯數組。下面的代碼片段可能是有洞察力的:

<?php 

     $arr  = [3, 2, 3]; 
     $arrMD  = []; 
     $arrAssoc = []; 

     foreach($arr as $k=>$qty){ 
      // CREATE A SUFFIXED KEY: 
      $key   = "quantity_{$k}"; 
      $arrAssoc[$key] = $qty; 
     } 

     echo "<pre>"; 
     print_r($arrAssoc); 
     echo "</pre>"; 
     // YIELDS 
     Array 
      (
       [quantity_0] => 3 
       [quantity_1] => 2 
       [quantity_2] => 3 
      ) 

     foreach($arr as $k=>$qty){ 
      // CREATE A TEMPORARY ARRAY 
      // TO BE USED IN GENERATING THE MULTIDIMENSIONAL ARRAY: 
      $tmp   = ["quantity"=>$qty]; 
      $arrMD[]  = $tmp; 
     } 

     echo "<pre>"; 
     print_r($arrMD); 
     echo "</pre>"; 
     //YIELDS::: 
     Array 
     (
      [0] => Array 
       (
       [quantity] => 3 
       ) 

      [1] => Array 
       (
        [quantity] => 2 
       ) 

      [2] => Array 
       (
        [quantity] => 3 
       ) 
     ) 
+0

非常感謝,幫助了很多 –