数组未设置在所有情况下都不起作用

时间:2014-06-17 03:01:46

标签: php arrays

我有一个大型的多维车辆阵列,我试图根据家庭和模型选择进行过滤。

当用户选择一个家庭时,它会搜索该阵列并删除该家庭中没有的所有车辆。它有效。

当用户选择模型时,它会搜索数组并删除不在该系列中的所有车辆。它有效。

但是,当选择族和模型过滤器时,族过滤器可以工作,但模型过滤器无法取消设置。

if( $family != 'All' ) {
    $i = 0;
    foreach( $details as &$d ) {
        $s = recursive_array_search( $family, $d, 5 ); // 5 is family column
        if($s == false) { 
            unset($details[$i]); 
            $c--;
        }
        $i++; 
    }
}       

if( $model != 'All' ) {
    $i = 0;
    foreach( $details as &$d ) {
        $s = recursive_array_search( $model, $d, 6 ); // 6 is trim/model column
        if($s == false) { 
            unset($details[$i]); 
            $c--;
        }
        $i++; 
    }
}

有趣的是,$ c,我的全局计数器,用于跟踪所有过滤后在数组中遗留的内容,即使未设置失败也会一直有效。

0 个答案:

没有答案