2013-12-12 125 views
-2

我來自法國我希望你能理解我,我 在美國花了一年了,反正...創建一個數組,並計算

好吧,我有一個表格,我收到了來自這種形式:

cmdId[] 25 
cmdId[] 26 
cmdId[] 27 
cmdId[] 28 
cmdId[] 29 
cmdId[] 30 
cmdId[] 31 
cmdId[] 32 
cmdId[] 33 
cmdPrice[] 3.05 
cmdPrice[] 3.46 
cmdPrice[] 3.46 
cmdPrice[] 550 
cmdPrice[] 3.46 
cmdPrice[] 4.3 
cmdPrice[] 3.75 
cmdPrice[] 3.3 
cmdPrice[] 4.15 
cmdQty[] 1 
cmdQty[] 1 
cmdQty[] 26 
cmdQty[] 19 
cmdQty[] 8 
cmdQty[] 5 
cmdQty[] 7 
cmdQty[] 3 

我的形式(只是重要組成部分)

echo '<tr>'; 
    echo '<input type="hidden" value="'.$data3['LGCM_ID'].'" name="cmdId[]">'; 
    echo '<td><input value="'.$data3['LGCM_QTE_COMMANDE'].'" name="cmdQty[]" id="cmdQty" type="text"></td>'; 
    echo '<td>'.$data3['PRD_POIDS'].'</td>'; 
    echo '<td>...</td>'; 
    echo '<td>'.$data3['PRD_NAME'].'</td>'; 
    echo '<td>'.$data3['PRD_LIBELLE'].'</td>'; 
    echo '<td>data 2</td>'; 
    echo '<td><input value="'.$data3['LGCM_PRIX_UNITAIRE'].'" name="cmdPrice[]" id="cmdPrice" type="text"> € HT</td>'; 
    echo '<td>'.$data3['LGCM_PRIX_UNITAIRE'].' € TTC</td>'; 
    echo '</tr>'; 

我想創建一個數組,然後一個foreach並獲得總這樣的:

Array 1 

cmdId : 25 
cmdQty: 20 
cmdPrice : 10 
=> subtotal : cmdQty * cmdPrice = 200 

Array 2 

cmdId : 26 
cmdQty: 40 
cmdPrice : 100 
=> subtotal : cmdQty * cmdPrice = 4000 

總(小計+大部等)

我不到貨創造良好的foreach,在我的情況下,正確的陣列。

感謝

+1

請給出解決此問題的嘗試。 – Daedalus

+0

對不起,您來自法國。 – AbraCadaver

回答

2

假設所有的數組大小相同,並張貼在相同的順序:

$cmdId = $_REQUEST['cmdId']; 
$cmdPrice = $_REQUEST['cmdPrice']; 
$cmdQty = $_REQUEST['cmdQty']; 
$len = count($cmdId); 

$output = array(); 
for ($i=0; i<$len; $i++) 
    $output[] = array('cmdId' => $cmdId[$i], 
     'cmdQty' => $cmdQty[$i], 
     'cmdPrice' => $cmdPrice[i], 
     'subtotal' => $cmdQty[$i] * $cmdPrice[i]); 

print_r($output); 
0

我犯了一個錯誤,如果我寫我的JSON的答案不print_r的,我得到了同樣的消息,看,

 <?php 
    header('content-type: application/json'); 

    include 'includes/config.php'; 

    $cmdId = $_REQUEST['cmdId']; 
    $cmdPrice = $_REQUEST['cmdPrice']; 
    $cmdQty = $_REQUEST['cmdQty']; 
    $len = count($cmdId); 


    $output = array(); 
    for ($i=0; i<$len; $i++) 
     $output[] = array('cmdId' => $cmdId[$i], 
      'cmdQty' => $cmdQty[$i], 
      'cmdPrice' => $cmdPrice[$i], 
      'subtotal' => $cmdQty[$i] * $cmdPrice[$i]); 

    $items = $output; 

    $response = $items; 

    echo json_encode($response); 

    ?> 

線13:

$output[] = array('cmdId' => $cmdId[$i], 

的排出134217728個字節允許存儲器大小(試圖分配79個字節)/home/public_html/admin/cmd_execute_step2.php上線13個

感謝。