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

PHP如何在循环匹配到目标日期后终止执行并返回对应数值

问题原因

  • 现有代码匹配到目标日期后没有终止执行,后续遍历到不匹配的元素时,会把存储结果的变量重新赋值为0,导致匹配成功的结果被覆盖
  • 循环条件$y <= $size_array2存在数组越界风险:PHP数组索引从0开始,有效索引的最大值为count(数组) - 1,当$y等于数组长度时会访问不存在的索引,抛出警告

修复方案

匹配到目标日期后直接返回结果即可,此时函数会直接终止执行,无需继续遍历剩余元素。全部遍历完成仍未匹配到目标时,再返回0。

修复后的代码如下:

$getTransitos = function ($datos_transito, $fechaAMostrar21){
    $datos_transito_string = strval($datos_transito);
    $registro_a_array = explode(',', $datos_transito_string);
    $size_array2 = count($registro_a_array);

    $y = 0;
    while ($y < $size_array2) {
        if (str_contains($registro_a_array[$y], $fechaAMostrar21)) {
            $tra_cantidad_ex = explode('/',  $registro_a_array[$y]);
            return intval($tra_cantidad_ex[0]);
        }
        $y++;
    }
    
    return 0;
};

内容的提问来源于stack exchange,提问作者Myers

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 02:39:00