cari

Rumah  >  Soal Jawab  >  teks badan

thinkphp5 - Bagaimanakah thinkphp beroperasi jika terdapat tatasusunan yang berkaitan dalam tatasusunan, ekstrak nilai dan tambahkannya bersama-sama?

Saya mempunyai jadual pembelian di pusat membeli-belah Terdapat pesanan dalam jadual pembelian. Beberapa pesanan mempunyai produk yang sama dengan pesanan lain jika pesanan ini adalah sama dengan kuantiti pembelian produk dalam pesanan Jika ID produk tertentu adalah sama, kuantiti dalam medan amaun akan ditindih Apakah yang perlu saya lakukan?

array(
    [0]=>
        'pid'=>7,
        'jumlah'=>1,
    [1]=>
        'pid'=>7,
        'jumlah'=>2,
    [2]=>
        'pid'=>8,
        'jumlah'=>1,
)

Sebagai contoh, dalam tatasusunan ini, terdapat dua nilai pid yang sama saya akan menambah nilai gabungan untuk membentuk tatasusunan ini

array(
    [0]=>
        'pid'=>7,
        'jumlah'=>3,
    [1]=>
        'pid'=>8,
        'jumlah'=>1,
    )
仅有的幸福仅有的幸福2810 hari yang lalu660

membalas semua(4)saya akan balas

  • 伊谢尔伦

    伊谢尔伦2017-05-16 13:03:33

    Gunakan pid sebagai kunci tatasusunan baharu

    $returnarr = array();
    foreach($data as $val) {
        if(isset($returnarr[$val['pid']])) {
            $returnarr[$val['pid']]['amount'] += $val['amount']; 
        } else {
            $returnarr[$val['pid']]['pid'] = $val['pid'];
            $returnarr[$val['pid']]['amount'] = $val['amount']; 
        }
    }

    balas
    0
  • 怪我咯

    怪我咯2017-05-16 13:03:33

    Tulis gelung, nilai sama ada terdapat yang sama berdasarkan pid, gabungkannya, dan akhirnya jana tatasusunan baharu OK

    balas
    0
  • phpcn_u1582

    phpcn_u15822017-05-16 13:03:33

    $allok = array();
                foreach ($all as $key1 => &$value1){
                    foreach ($value1 as $key2 => $value2){
                        $allok[$value2['pid']] = $value2;
                        $allok[$value2['pid']] = $allok[$value2['pid']]['amount'] + $value2['amount'];
                        /*$queryproductshop = Model('Product')->queryidshop($value2['pid']);
                        $queryshopclass = Model('ProductClassify')->SaleConfigShopClass($queryproductshop['cid']);
                        $queryproductshop['class'] = $queryshopclass['title'];
                        $allshop[] = $queryproductshop;*/
                    }
                }
                dump($allok);

    Saya telah menyelesaikannya sendiri, terlalu rumit untuk memikirkannya sendiri

    balas
    0
  • 我想大声告诉你

    我想大声告诉你2017-05-16 13:03:33

    // Kod adalah seperti berikut, saya harap ia akan membantu anda.
    $orderInfo = tatasusunan(

    [0]=>
        'pid'=>7,
        'amount'=>1,
    [1]=>
        'pid'=>7,
        'amount'=>2,
    [2]=>
        'pid'=>8,
        'amount'=>1,

    );
    foreach ($orderInfo as $k=>$v)

              {
                  $bKey=$v['pid'];
                  if(!array_key_exists($bKey, $orderArr)) 
                  {
                    $orderArr[$bKey] = [];
                    $sumData[$bKey] = 0;
                    }
                  $orderArr[$bKey]=$v;
                  $sumData[$bKey]+=$orderArr[$bKey]['amount']; 
                  $orderArr[$bKey]['amount']=$sumData[$bKey];
              }   
        var_dump($orderArr);       

    balas
    0
  • Batalbalas