Я попытался удалить, возможно, пустую последнюю запись массива следующим образом, но получаю ошибку: «Не удается использовать возвращаемое значение функции в контексте записи»:
if (empty(end($crontabEntryList))) {
array_pop($crontabEntryList);
}
Если я сначала назначу возвращаемое значение конца переменной (как внизу), я смогу удалить эту последнюю запись, если она пуста. Согласно ручной записи для end () он «возвращает значение последнего элемента или FALSE для пустого массива». Посредством поиска в Google я нашел возможное объяснение : логические значения не "доступны для записи".
Однако тогда может показаться, что эта ошибка возвращается, в моем конкретном контексте, и, возможно, других, документированных здесь на SO , просто потому, что возможно , что логическое значение может быть возвращено , Потому что массив в моем случае определенно был не пустым, и поэтому вместо false end () «возвращает значение последнего элемента».
Верны ли мои предположения? В каком случае это не противоречит слабо типизированной природе PHP? Или это потому, что последний элемент массива «недоступен для записи»? В каком случае, что именно составляет «контекст записи» в PHP?
$last = end($crontabEntryList);
if (empty($last)) {
array_pop($crontabEntryList);
}