将数组内爆到 dayname

Implode an array to dayname

我正在像这样 implode(', ',$array) 中的 php 内爆一个数组,它将 return 7, 3, 4(dayname 的数字)

如何将其更改为 Sunday, Wednesday, Thursday

像这样简单地初始化一个$array,很容易得到当天的名称格式,

<?php
$days = [
  1 => 'Sunday',
  2 => 'Monday',
  3 => 'Tuesday',
  4 => 'Wednesday',
  5 => 'Thursday',
  6 => 'Friday',
  7 => 'Saturday'
];
$array = [7,3,4];
$result = array_map(function ($a)  use($days) { return $days[$a]; }, $array);
echo implode(',', $result);
?>

演示: https://3v4l.org/9Zb5M

如果您启用了日历扩展(我认为大多数安装可能都会启用),您可以使用 jddayofweek 函数直接在数字和日期名称之间进行转换。索引从星期一开始从零开始,因此您需要从数组中减去一个:

$i = 7;
echo jddayofweek($i - 1, 1);
# Sunday

您可以用 array_map 将其包装起来以转换整个数组:

$dayNames = array_map(function ($e) {
    return jddayofweek($e - 1, 1);
}, $dayNumbers);

完整演示在这里:http://sandbox.onlinephpfunctions.com/code/957ab0a38d6055ca1ffb37e5623dc7487a58cef4