从多维数组中提取首个type为working的日期作为start_date
解决方案
嘿,这事儿好办!针对你给出的多维数组,我们可以通过遍历days数组,定位到第一个type为working的元素,然后将它的date值替换掉原本的start_date。下面是具体的PHP实现代码:
// 假设你的原始数组是$originalArray $originalArray = [ 'error' => 0, 'data' => [ 'start_date' => '2018-03-11', 'end_date' => '2018-03-21', 'days' => [ ['type' => 'non_working', 'sub_type' => 'weekend', 'sub_sub_type' => '', 'date' => '2018-03-11'], ['type' => 'working', 'date' => '2018-03-12'], // 这里可以添加更多days元素 ] ] ]; // 先校验数据有效性,再执行替换逻辑 if ($originalArray['error'] === 0 && !empty($originalArray['data']['days'])) { foreach ($originalArray['data']['days'] as $dayItem) { // 找到第一个type为working的日期 if ($dayItem['type'] === 'working') { $originalArray['data']['start_date'] = $dayItem['date']; break; // 找到目标后立刻停止遍历,提升效率 } } } // 输出处理后的数组查看结果 print_r($originalArray);
代码说明:
- 首先做了基础校验:确保
error为0(数据无错误)且days数组不为空,避免无效操作。 - 遍历
days数组时,一旦匹配到第一个type为working的元素,就更新start_date并终止循环,不用继续遍历后续元素,节省性能。 - 处理完成后,你可以通过
print_r或者var_dump查看更新后的数组结构。
内容的提问来源于stack exchange,提问作者user9332352
相关产品推荐
相关产品推荐

