【发布时间】:2023-02-26 19:29:58
【问题描述】:
我有一个像下面这样的数组
Array
(
[0] => Array
(
[id] => 9
[needed_at] => 2023-02-26 03:31:04
[ended_at] => 2023-02-26 04:31:04
[add] => 20
)
[1] => Array
(
[id] => 6
[needed_at] => 2023-02-26 04:51:04
[ended_at] => 2023-02-26 05:51:04
[add] => 30
)
[2] => Array
(
[id] => 7
[needed_at] => 2023-02-26 09:21:04
[ended_at] => 2023-02-26 10:21:04
[add] => 30
)
)
现在在一个循环中,我想修改 0 索引中的 ended_at,然后使用这个修改后的 ended_at 替换 1 索引中的 needed_at。这样也想把2index替换成1index的修改ended_at等等
我试过的是
foreach($jobs as $k => $j){
$s = $k+1;
$date = new \DateTimeImmutable($j->ended_at);
$add = $j->add;
$date_new = $date->modify('+'.$add.' minutes');
$needed_at = $date_new->format('Y-m-d H:i:s');
$data['needed_at'] = $needed_at;
$date2 = new \DateTimeImmutable($needed_at);
$ended_at = $date2->modify('+60 minutes');
$data['ended_at'] = $ended_at->format('Y-m-d H:i:s');
$d[]=[
'id' => $jobs[$s]->id,
'needed_at' => $needed_at,
'ended_at' => $data['ended_at'],
'add' => $add
];
}
它不工作。是否可以将第一次迭代修改后的数据用于第二次迭代?需要帮忙
【问题讨论】:
-
目前还不清楚你的问题是“我试过的是......”关于这个问题:“是否可以将第一次迭代修改后的数据用于第二次迭代?”。答案是肯定的,这应该是可能的。
-
@Luuk 我想修改
0索引中的数据,然后将修改后的数据用于1索引 -
是的,但不清楚为什么你没有用“你尝试过的”来做。我应该猜吗?
-
@Luuk 我试过的方法不起作用。我需要一个想法如何实现目标
-
你试过调试这个吗? (请参阅:How to debug PHP code,或 stackoverfflow.com 上显示如何调试您的 PHP 代码的任何其他页面?)
标签: php mysql arrays codeigniter