我有一个名为的 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',
],
],
],
],
];
}
达令说