Как не задавать елемент в массиве, если его значение null?

В языке PHP при работе с массивами есть несколько подходов к исключению элементов со значением null из массива.

1. Использование функции array_filter():

$myArray = [1, null, 3, null, 5];
$filteredArray = array_filter($myArray, function($value) {
    return $value !== null;
});

Функция array_filter() позволяет задать пользовательскую функцию обратного вызова, которая будет применяться к каждому элементу массива. Если эта функция возвращает true, то элемент сохраняется в результирующем массиве, в противном случае - исключается из него. В примере выше элементы со значением null будут удалены из массива $filteredArray.

2. Использование цикла foreach:

$myArray = [1, null, 3, null, 5];
$newArray = [];
foreach($myArray as $value) {
    if($value !== null) {
        $newArray[] = $value;
    }
}

В данном случае мы проходим по каждому элементу массива $myArray с помощью цикла foreach и проверяем значение каждого элемента. Если значение не является null, то мы добавляем его в новый массив $newArray. Таким образом, в итоговом массиве мы получим только ненулевые элементы.

3. Использование функции array_reduce():

$myArray = [1, null, 3, null, 5];
$filteredArray = array_reduce($myArray, function($carry, $item) {
    if($item !== null) {
        $carry[] = $item;
    }
    return $carry;
}, []);

Функция array_reduce() позволяет итеративно применять пользовательскую функцию к элементам массива с сохранением результата. В данном случае мы создаем пустой массив $carry и добавляем в него только ненулевые элементы из исходного массива $myArray.

Какой из этих подходов использовать, зависит от ваших предпочтений и конкретной ситуации. Все они имеют одну и ту же цель - исключить элементы со значением null из массива и создать новый массив с только ненулевыми значениями.