<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                [TOC] # Laravel Collection sum 求價格總和 單獨創建項目名稱:collections,可以是空文件夾 終端進入目錄使用composer安裝package 終端執行命令,引入collection `composer require illuminate/support` 終端執行命令,單獨引入dump,dd等方法的package `composer require pandeydip/dump-die` PS:基本上到達這一步就就可以單獨實現視頻中效果,如果是中途加入的這兩個package,那么需要在終端執行命令`composer dump-autoload`,更新一下自動加載環境 模擬創建index ~~~ require __DIR__ . '/vendor/autoload.php'; $orders = [[ 'id' => 1, 'user_id' => 1, 'number' => '13908080808', 'status' => 0, 'fee' => 10, 'discount' => 44, 'order_products'=> [ ['order_id'=>1,'product_id'=>1,'param'=>'6寸','price'=>555.00,'product'=>['id'=>1,'name'=>'蛋糕名稱','images'=>[]]], ['order_id'=>1,'product_id'=>1,'param'=>'7寸','price'=>333.00,'product'=>['id'=>1,'name'=>'蛋糕名稱','images'=>[]]], ], ]]; $price = 0; foreach( $orders as $order ){ foreach( $order['order_products'] as $order_product ){ $price += $order_product['price']; } } dump( $price ); ~~~ # 第一種 使用collection中提供的map方法,返回大數組中的子數組【打印出來的是一個索引的三維數組】 ~~~ dump( collect( $orders )->map(function($order){ return $order['order_products']; }) ); ~~~ 然后我們可以利用collection提供的flatten方法,將現在出現的數組直接變成items下的平級數組【其實打印出來就是一個索引的二維數組】 ~~~ dump( collect( $orders )->map( function( $order ){ return $order['order_products']; } )->flatten(1) ); ~~~ 繼續使用map方法,然后返回`$order['price']`,那么打印出來的將會是純price值的索引數組,這樣就可以順利計算價格的總和了 ~~~ dump( collect( $orders )->map( function( $order ){ return $order['order_products']; } )->flatten(1)->map( function( $order ){ return $order['price']; } ) ); ~~~ 使用sum方法計算出價錢的總和 ~~~ dump( collect( $orders )->map( function( $order ){ return $order['order_products']; } )->flatten(1)->map( function( $order ){ return $order['price']; } )->sum() ); ~~~ 上面描述步驟,算是使用的第一方案完成。代碼體比兩層foreach要大,下面記錄使用的第二種方案,更簡潔 # 第二種 使用flatMap方法,替換第一行的map flatMap 對集合內所有子集遍歷執行回調,并在最后轉為一維集合: ~~~ collect( $orders )->flatMap( function( $order ){#代碼體 ~~~ 使用pluck方法傳入要操作的key:price pluck 獲取集合中指定「鍵」所有對應的值 ~~~ dump( collect( $orders )->flatMap( function( $order ){ return $order['order_products']; } )->pluck('price')->sum() ); ~~~ 當然如果不使用pluck方法的話可以直接傳參到sum方法中 ~~~ dump( collect( $orders )->flatMap( function( $order ){ return $order['order_products']; } )->sum('price') ); ~~~ # 第三種 ~~~ dump(collect($orders)->pluck('order_products.*.price')->flatten(1)->sum()); ~~~ # 第四種 ~~~ collect( data_get($orders, '*.order_products.*.price') )->sum()); ~~~
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看