2015-02-25 2 views
1

У меня есть два массива. Я зацикливаю первый массив, и в этом цикле я проверяю array_diff с помощью двух массивов. Если есть разница в найденном массиве, он должен возвращать флаг как 1 else, он должен возвращаться как 0. Я попытался выйти из цикла, но это также не работает. Код приведен ниже: -как установить флаг, если определенное условие выполнено в петле php

$flg = 0; 
foreach ($rest as $key => $value) { 
    $arr1 = $_POST['attrib_singname']; 
    $arr2 = $rest[$key]; 
    $result = array_diff($arr1, $arr2); 
    if(empty($result)){ 
     $flg = 1; //Same Array 
     break 1; 
    }else{ 
     $flg = 0; //Diff Array 
     break 1; 
    } 
} 

если разница находится в первой стадии, то она возвращается 1, но если это не первый шаг, то каждый раз, когда она возвращается 0.

ответ

1

Вы должны заменить, если/else с только оператором if, который устанавливает переменную в 1, если обнаружено изменение. Затем, вне вашего цикла foreach, проверьте, равна ли переменная 1 (другой массив) или 0 (тот же массив).

+0

Нет проблем! Если вы не возражаете, не могли бы вы принять это как ответ? –

+0

Я принял его как ответ –

Смежные вопросы