Обработка пустых ключей массива в php

254
06 ноября 2017, 23:15

Вопрос достаточно спорный. Допустим есть строка, которая может меняться. И нужно выводить слова из этой строки. Мы используем функцию explode() Она создает массив слов. С цифровыми ключами. Допустим я хочу выводить второе слово в массиве. Я прописываю в скрипте переменную. $data[1] , что вызывает нужное мне слово. Однако, все хорошо, когда это слово есть. Но бывает, что в строке всего 1 слово и эта переменная вызывает ошибку. Но это понятно, переменная ж не существует. И вот вопрос. Каким образом обрабатывать такие ошибки. Нужно нормальное решение. Без использования @ или empty(), и что б конструкция получилась простой. Я могу конечно обойти эту ошибку, но это будет лишний код. Помогите подобрать технологичное решение.

Answer 1

Можно дополнить массив до нужной длины с помощью array_pad:

$data = array_pad(explode(', ', 'test'), 2, 'def'); // ['test', 'def']

В php7 есть оператор coalesce:

$data = explode(' ', $str);
$word2 = $data[1] ?? '';
READ ALSO
Выбор select из бд

Выбор select из бд

Здравствуйте!

294
Сортировка с заданным параметром MySql

Сортировка с заданным параметром MySql

Добрый день! Есть такой запрос

300
Когда использовать стандартные сессии PHP когда свои?

Когда использовать стандартные сессии PHP когда свои?

Всем привет! В PHP есть встроенные сессииКуча возможностей и прочее

206
file_get_contents() выдает кракозябры, как поправить? [требует правки]

file_get_contents() выдает кракозябры, как поправить? [требует правки]

file_get_contents() выдает кракозябры, как поправить?

253