Php 日期的搜索数组不返回结果
您好,我正在尝试使用以下功能根据当前日期搜索一小时:Php 日期的搜索数组不返回结果,php,arrays,Php,Arrays,您好,我正在尝试使用以下功能根据当前日期搜索一小时: $key = array_search($todayday, array_column($days, 'date', 'hours')); 其中,$todayday等于从第七天开始的今天 数组$days为: Array ( [0] => Array ( [date] => 01 [hours] => 0
$key = array_search($todayday, array_column($days, 'date', 'hours'));
其中,$todayday等于从第七天开始的今天
数组$days
为:
Array
(
[0] => Array
(
[date] => 01
[hours] => 0
)
[1] => Array
(
[date] => 02
[hours] => 8
)
[2] => Array
(
[date] => 03
[hours] => 16
)
[3] => Array
(
[date] => 04
[hours] => 24
)
[4] => Array
(
[date] => 05
[hours] => 32
)
[5] => Array
(
[date] => 06
[hours] => 40
)
[6] => Array
(
[date] => 07
[hours] => 40
)
... etc....
虽然$todaydate等于1,2,3,4,5,但它仍然有效。但是对于6号和7号,没有任何回报。欢迎任何帮助来解决此问题。谢谢
我怀疑,由于date=6和7具有相同的小时值,这就是它不返回任何内容的原因,但问题是如何实际返回它。您的假设是正确的,您不能有重复的密钥。使用搜索中的键,然后访问
hours
:
$key = array_search($todayday, array_column($days, 'date'));
$hours = $days[$key]['hours'];
或更短:
$hours = $days[array_search($todayday, array_column($days, 'date'))]['hours'];
如果索引不是基于0且顺序的,请使用array\u values()
重新索引:
$days = array_values($days);
$key = array_search($todayday, array_column($days, 'date'));
$hours = $days[$key]['hours'];