У меня проблема. На мой взгляд, это должно работать нормально:
for($i = 0; $i < count($tags); $i++){
if(in_array($tags[$i], $str)){
for($a = 0; $a < count($str); $a++){
if($tags[$i] == $str[$a]){
unset($str[$a]);
}
}
}
}
str - массив, состоящий из 1, 3, 4, 5, 500, 501.
tags - это массив, состоящий из 4, 5, 500, 501.
Результат должен быть 1, 3. Результат - 1, 3, 500, 501.
После экспериментов я обнаружил, что этот код работает, но нестабилен, на мой взгляд:
for($i = 0; $i < count($str) + count($tags); $i++){
for($a = 0; $a < count($tags); $a++){
if ($tags[$a] == $str[$i]) {
unset($str[$i]);
}
}
$a = 0;
}
Что я делаю не так?