PHP поиск НЕ НУЖНОГО значения в массиве

B
На сайте с 14.04.2012
Offline
35
596

ПРиветствую

Скажем есть у меня какая-то константа

$a = 2;

И есть массив

$arr=array();

$arr[]=4;

$arr[]=2;

Друзья,подскажите, как найти в этом массиве значение кооторе не равно 2, то есть чтобы каждый раз выводился элемент массива не равный этой константе. В массиве значения могут меняться местами.

Также каждый раз будут другие значения массива,но при этом константа каждый раз равняется одному из значению массива

LEOnidUKG
На сайте с 25.11.2006
Offline
1762
#1
но при этом константа каждый раз равняется одному из ключей массива

Так значению или ключу?

✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/ ✅ Настройка и оптимизация серверов https://getmanyspeed.ru/
B
На сайте с 14.04.2012
Offline
35
#2

Верно, значению Прошу прощения

LEOnidUKG
На сайте с 25.11.2006
Offline
1762
#3

ну и в чём проблеме перебрать массив и найти значение, которое не равно?

for

foreach

while

вам о чём-то говорит?

siv1987
На сайте с 02.04.2009
Offline
427
#4

bimbo,

обход массива,

сравниваем если его элемент не равно константе $a

B
На сайте с 14.04.2012
Offline
35
#5

На самом деле тут задача не такая уж итривиальная.

if работает и перебор массива работает только в одом случае у меня. Для другого юзера этот же результат другое выдает

siv1987
На сайте с 02.04.2009
Offline
427
#6

тривиальная

$val == $a

не тривиальная

$val != $a

Swhile
На сайте с 02.05.2007
Offline
58
#7

Не нужно никаких переборов.

Воспользуйтесь array_filter($arr, function ($item) use ($a) { return $item != $a; });

Это для PHP>=5.3

Если у вас версия старше вместо function - create_function

alexspb
На сайте с 14.11.2005
Offline
187
#8
array_diff( $arr, array($a))

сохраняет значения только первого массива

индексы не сохраняются

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий