Использование функции end () с функцией explode () не работает

У меня есть строка, которая будет содержать имя загрузки файла, например «image.jpg». Я пытаюсь использовать функцию explode, но он возвращает ошибку «explode () ожидает, что параметр 2 будет строкой, массив указан в …»

Я попытался найти причины, почему и сравнивая их с тем, как использование предоставляется на PHP.Net, но безрезультатно.

$upload_extension = end(explode(".", $feature_icon)); 

Solutions Collecting From Web of "Использование функции end () с функцией explode () не работает"

вы не можете использовать end() как вы это делаете

end() -> Параметры ¶ Массив. Этот массив передается по ссылке, потому что он модифицируется функцией. Это означает, что вы должны передать ему реальную переменную, а не функцию, возвращающую массив, потому что только фактические переменные могут передаваться по ссылке.

так что

 $feature_icon ="image.jpg"; $upload_extension = explode(".", $feature_icon); $upload_extension = end($upload_extension); var_dump($upload_extension ); 

Живой результат

Попробуйте сделать это следующим образом:

  $upload_extension = explode(".", $feature_icon); $upload_extension = end($upload_extension);