felony13twelve
@felony13twelve

Как удалить нулевой элемент массива?

Есть вот такой код:
$arr = []; 
$arr[] = '1'; 
$arr[] = '2'; 
if(($key = array_search('2', $arr))) { 
 unset($arr[$key]); 
} 
foreach ($arr as $arr) { 
 echo $arr . '<br>'; 
}


В array_search я указываю значение, которое хочу удалить, "2" оно под ключом 1, а если я захочу удалить значение "1" оно под ключом 0, то оно не удалится. Почему? Как правильно?
  • Вопрос задан
  • 69 просмотров
Решения вопроса 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Потому что у вас неверное условие.
array_search('1', $arr) возвращает 0, что логично, так как индексы массивов в PHP начинаются с нуля. Но 0 в логических выражениях приводится к fasle, поэтому условие не срабатывает.
Для того, чтобы строго различать значения без приведения типов в PHP есть отдельные операторы сравнения === (строгое равенство) и !== (строгое неравенство).
$key = array_search('2', $arr);
if ($key !== false) { 
 unset($arr[$key]); 
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
Smart Медицина Москва
от 150 000 ₽
Spice IT Recruitment Москва
До 230 000 ₽
Playkot Санкт-Петербург
от 150 000 до 200 000 ₽
07 июл. 2020, в 07:31
1000 руб./за проект
06 июл. 2020, в 23:49
10000 руб./за проект
06 июл. 2020, в 23:32
35000 руб./за проект