亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

PHP 數組不迭代塊的第一部分

PHP 數組不迭代塊的第一部分

PHP
翻閱古今 2023-07-01 16:41:31
我有一個名為的 PHP 數組$dataset,它已被分成兩個塊。我正在嘗試根據每個塊創建兩個 Stripe 訂閱計劃。schedule_batch[1]下面的代碼創建了兩個計劃,但僅針對創建了兩次的塊的第二部分。第一個塊中的前 9 個項目根本沒有創建。第一個塊被完全忽略,第二個塊被處理兩次。我已經刪除了數組的全部內容,以使下面的代碼示例保持簡單,但它采用以下格式,并且數組中有 20 個項目。    $dataset = array(      array(        "product" => $product->id,        "unit_amount" => "2020",        "end_date" =>  date_timestamp_get(date_create("2020-07-12")) // Payment 1 Date          ),      array(          "product" => $product->id,          "unit_amount" => "2000",          "end_date" =>  date_timestamp_get(date_create("2020-07-15")) //Payment 2 Date      ),      array(          "product" => $product->id,          "unit_amount" => "3400",          "end_date" =>  date_timestamp_get(date_create("2020-07-16")) //Payment 3 Date      ),      array(          "product" => $product->id,          "unit_amount" => "3700",          "end_date" =>  date_timestamp_get(date_create("2020-07-18")) //Payment 4 Date      ),    );        $schedule_batch = array_chunk($dataset, 9);    $numberofbatches = count($schedule_batch);        $phases = [];    foreach ($schedule_batch as $index => $data) {        $phases[] = [          'end_date' => $data[$index]["end_date"],          'transfer_data' => [            'amount_percent' => $fee_percentage,            'destination' => $account],                  'proration_behavior' => 'none',          'plans' => [              [                'price_data' => [                  'unit_amount' => $data[$index]["unit_amount"],                  'currency' => 'usd',                  'product' => $data[$index]["product"],                  'recurring' => [                      'interval' => 'month',                  ],                ],                              ],            ],        ];      }   
查看完整描述

1 回答

?
達令說

TA貢獻1821條經驗 獲得超6個贊

$phases將生成的代碼應用到$dataset然后將其分塊到 中會更容易$schedule_batch:


$phases = [];

foreach ($dataset as $data) {

    $phases[] = [

      'end_date' => $data["end_date"],

      'transfer_data' => [

        'amount_percent' => 20,

        'destination' => 10],        

      'proration_behavior' => 'none',

      'plans' => [

          [

            'price_data' => [

              'unit_amount' => $data["unit_amount"],

              'currency' => 'usd',

              'product' => $data["product"],

              'recurring' => [

                  'interval' => 'month',

              ],

            ],

            

          ],

        ],

    ];

  }


$schedule_batch = array_chunk($phases, 2);

$numberofbatches = count($schedule_batch);

3v4l.org 上的演示

您最終調用的代碼createSchedule將是:

foreach ($schedule_batch as $phase) { 
   createSchedule($customer->id, $phase);
}


查看完整回答
反對 回復 2023-07-01
  • 1 回答
  • 0 關注
  • 146 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號