Подскажите, пожалуйста, после переноса сайта на сервер с php 4.2 стала вылезать ошибка в синтаксисе: syntax error, unexpected T_FUNCTION, expecting ')'
Понял, что это из-за анонимной функции, но как правильно переписать код не получается.
Сейчас так:
$dataAttributes = array_map(function($value, $key) {
return $key . "='" . (str_replace("'", '"', $value)) . "'";
}, array_values($attributes), array_keys($attributes));
Несколько странно начинать изучать программирование с достаточно древних версий php. Данной версии, уже, кажется, больше 15 лет. В 2004м году уже вышел пхп 5, а 4й версия появилась в 2000-м. Но в целом, если вы пользуетесь win98
и Internet Explorer 6
, то PHP4
отлично дополнит эту компанию.
Для решения конкретно вашего вопроса, можете либо переписать задачу с использованием простого цикла foreach
, либо по-старинке передать в array_map
имя функции, вместо реализации:
function map($value, $key){
return $key . "='" . (str_replace("'", '"', $value)) . "'";
}
$test = array_map("map", array_values($attributes), array_keys($attributes))
То есть из анонимной функции мы сделали именованную.
Второй же вариант, который, наверное, будет проще, и даже уместнее - обычный цикл по массиву:
$test2 = array();
foreach($attributes as $k=>$value){
$test2[] = $k."=".(str_replace("'", '"', $value)) . "'";
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Какие существуют виды рекламных бордов и как выбрать подходящий?