Проверить, есть ли в одномерном числовом массиве хотя бы одна пара противоположных чисел. Помогите пожалуйста
Можно использовать побитовый оператор ~ (NOT) в комплекте с функциями поиска in_array() и фильтрации array_filter():
$numbers = [1, 2, 3, 4, 5, 6, -7, 8, 9, -9];
$arr = array_filter($numbers, function($int)use($numbers){
return in_array(~--$int, $numbers);
});
var_dump($arr);
В результате будет получена пара чисел 9 и -9 (для остальных пары нет)
Ладно, я сделаю это за вас
$arr = [2, 4, 5, -3, -4];
foreach ($arr as $item) {
if ($item && in_array(0 - $item, $arr) {
die("Есть!");
}
}
echo "Нет.";
Сборка персонального компьютера от Artline: умный выбор для современных пользователей