gpt4 book ai didi

php - 如何从数组键中删除前导零

转载 作者:行者123 更新时间:2023-11-29 01:15:49 26 4
gpt4 key购买 nike

我正在使用 Codeigniter 3(日历类)并且我有这个函数来获取日历数据(表格只有一个日期列和一个数据列):

    function get_calendar_data($year, $month) {
$query = $this->db->select('date, data')->from('calendar')->like('date', "$year-$month", 'after')->get();
$cal_data = array();
foreach ($query->result() as $row) {
$cal_data[substr($row->date,8,2)] = $row->data;
}
return $cal_data;
}

它工作正常并生成一个月的数组 $cal_data,由天作为键和值(在本例中为颜色名称)组成,var_dump 通常如下所示:

array (size=6)
26 => string 'amber' (length=5)
27 => string 'red' (length=3)
28 => string 'red' (length=3)
25 => string 'amber' (length=5)
'04' => string 'red' (length=3)
'07' => string 'red' (length=3)

日历需要的。但是,带有前导零的日期存在问题,因为日历似乎不需要它们。所以 04 和 07 的值不显示。作为测试,我重写了 foreach 循环:

$cal_data[substr($row->date,9,1)] = $row->data;

因此该键将仅选取日期字符串的最后一个字符,在这种情况下,4 和 7 的值确实正确显示。

有没有一种简单的方法可以删除前导零,使键成为 4 和 7?

最佳答案

你可以这样做(注意转换为 int):

foreach ($query->result() as $row) {
$cal_data[(int)substr($row->date,8,2)] = $row->data;
}

关于php - 如何从数组键中删除前导零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45404791/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com