You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

从多维数组中提取首个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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 11:52:38