Подскажите, пожалуйста, после переноса сайта на сервер с 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)) . "'";
}
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?