php - 如何更改/重置 PHP 数组类型?
问题描述
我有以下 PHP 代码用于识别日期的交集,这些日期落在我们有完整条件的日期上。
基于此 StackOverflow 帖子:<a href="https://stackoverflow.com/questions/19958292/php-check-multiple-dates-in-array-are-within-a-date-range">php 检查多个日期在数组中的日期范围内我有一个使用测试数组($ d2)的工作过滤器。
<?php
$d2 = array ('08/23/2019','08/24/2019','08/25/2019','08/26/2019','08/27/2019','08/28/2019','08/29/2019','08/30/2019','08/31/2019','09/01/2019');
$start = strtotime('08/27/2019');
$end = strtotime('08/29/2019');
foreach($d2 AS $date) {
$timestamp = strtotime($date);
if($timestamp >= $start && $timestamp <= $end) {
echo "The date $date falls on a day where we are sold out \n";
} else {
// echo "Process Reservation \n";
}
}
?>
有效的 print_r($d2) 如下所示:
Array
(
[0] => 08/23/2019
[1] => 08/24/2019
[2] => 08/25/2019
[3] => 08/26/2019
[4] => 08/27/2019
[5] => 08/28/2019
[6] => 08/29/2019
[7] => 08/30/2019
[8] => 08/31/2019
[9] => 09/01/2019
)
但是我的数组包括检查现有日期,然后查找在特定日期有 x 个实例。例如,如果我们有 7 个或更多,我们有一个完整的条件(售罄)。
$sold_outUS = array_filter($datesUS, function($n) { return $n >= 7; });
如果我 print_r($sold_outUS) 这个数组,它会显示不同类型的数组结构:
Array
(
[08/23/2019] => 7
[08/24/2019] => 7
[08/25/2019] => 7
[08/26/2019] => 7
[08/27/2019] => 7
[08/28/2019] => 7
[08/29/2019] => 7
[08/30/2019] => 7
[08/31/2019] => 7
[09/01/2019] => 7
)
如何更改此数组的存储方式,使其与工作状态以及我需要学习的内容相匹配?
看起来好像我需要数组中每个实例的独立键和值。只是不知道如何更改或重置数组?非多维?
解决方案
用于array_keys
获取关联数组的键。
$sold_outUS = array_keys(array_filter($datesUS, function($n) { return $n >= 7; }));
推荐阅读
- java - Java Flink 外部源
- mysql - Getting mysql query issue with WHERE key work. Help me to sort it out
- c# - 使用 LXD REST API,ClientWebSocket 在 .Net Core 上抛出“AuthenticationException”,但在 .Net Framework 上,它运行良好
- python - python3.7中的模块重载是如何工作的?
- java - 无法在测试行为调用的 Java 函数中使用 Citrus 变量
- apache-kafka - 使用 kafka-connect-spooldir 连接器在 Kafka Connect 中以 dd.MM.yyyy 格式解析日期
- ios - 如何为我的 iOS 应用程序集成维护模式
- python - 递归函数返回偶数索引值的元组?
- kivy - 如何删除点击的小部件?
- javascript - npx webpack 命令找不到模块 webpack.config.js