【问题标题】:Replace PHP array value with current day用当前日期替换 PHP 数组值
【发布时间】:2022-01-13 15:22:24
【问题描述】:

我有这个数组:

$flights = Array (
   [0] => Array (
      [day] => 0
      [flights] => 0
   )
   [1] => Array ( 
      [day] => 0 
      [flights] => 0 
   )
   [2] => Array ( 
      [day] => 0 
      [flights] => 0 
   )
   [3] => Array ( 
      [day] => 0 
      [flights] => 0 
   )
   [4] => Array ( 
      [day] => 0 
      [flights] => 0 
   )
   [5] => Array ( 
      [day] => 0 
      [flights] => 0 
   )
   [6] => Array ( 
      [day] => 0 
      [flights] => 0 
   )
   [7] => Array ( 
      [day] => 0 
      [flights] => 0 
   )
   [8] => Array ( 
      [day] => 0 
      [flights] => 0 
   ) 
   [9] => Array ( 
      [day] => 0 
      [flights] => 0 
   ) 
   [10] => Array ( 
      [day] => 0 
      [flights] => 0 
   ) 
   [11] => Array ( 
      [day] => 0 
      [flights] => 0 
   ) 
   [12] => Array ( 
      [day] => 0 
      [flights] => 0 
   )
)

我想用当前的通讯日替换所有[day] 值,例如:

Array (
   [0] => Array (
      [day] => 01
      [flights] => 0
   )
   [1] => Array ( 
      [day] => 02 
      [flights] => 0 
   )
   [2] => Array ( 
      [day] => 03
      [flights] => 0
   )
...

代码根据当月的当天创建数组键数,因此数组具有今天(13/01)的正确键数。

这样做的功能是什么?

【问题讨论】:

  • 您是否尝试过遍历数组并更新它?请做更多的研究,并先自己尝试一下。我们很高兴帮助您解决您在实施尝试中可能遇到的具体问题,但我们不是来为您编写所有代码(这里的正确答案需要我们这样做)
  • 看看this

标签: php arrays


【解决方案1】:

更好的办法是:

foreach ($flights as $key => $_) {
    $flights[$key]['day'] = $key + 1;
}

在这里,我们循环遍历所有航班,利用其编号 $key,将其递增 1 并将其分配到适当的位置。

【讨论】:

  • 您应该考虑解释您的解决方案,而不仅仅是放置代码
  • $k + 1而不是++$k不是更清楚吗? $k 的增量似乎没有任何目的
【解决方案2】:

经过更深入的搜索,我设法解决了这个问题:

$day_counter = 1;
foreach ($flights as $key => $value)
{
  $flights[$key]['day'] = $day_counter;
  $day_counter++;
}

所以我从第“1”天开始为$day_counter,并在将其替换为数组后递增。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-03-03
    • 1970-01-01
    • 1970-01-01
    • 2023-03-29
    • 1970-01-01
    • 2013-09-22
    • 2017-01-02
    相关资源
    最近更新 更多