创建一个数组和计算

时间:2013-12-12 02:57:37

标签: php arrays

我来自法国,我希望你能理解我, 无论如何,我在美国待了一年......

好的,我有一张表格,我收到了这张表格:

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和一个正确的数组。

感谢

2 个答案:

答案 0 :(得分: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);

答案 1 :(得分:0)

我犯了一个错误,如果我在没有print_r的情况下写了我的json答案,我收到同样的信息,看,

     <?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],

在第13行的 /home/public_html/admin/cmd_execute_step2.php 中,允许的内存大小为134217728个字节(尝试分配79个字节)

感谢。

相关问题