#php #arrays #type-conversion
#php #массивы #тип-преобразование
Вопрос:
Я получил странный вывод из array_map с intval
параметром.
$array = ['35','1'];
array_map('intval', $array);
Вывод:
array(2) { [0]=> int(1) [1]=> int(1) }
и если я выполню array_map
с параметром ‘curent’
array_map('curent', $array);
У меня есть
array(2) {[0]=> строка(2) «35» [1]=> строка (1) «1» }
Комментарии:
1. eval.in/654717 . вы забыли назначить после
array_map()
2. В большинстве случаев ответ будет следующим: вам не нужно, PHP делает это автоматически, когда это необходимо. Однако вы ничего не сказали о том, почему вы хотите это сделать. Какова конечная цель преобразования массивов в целое число вместо того, чтобы PHP делал это автоматически, когда это необходимо?
Ответ №1:
Рабочий пример
$array = ['35','1'];
var_dump(array_map('intval', $array));
Это приведет к желаемому результату.
Комментарии:
1. Я не знаю, почему это плохо работает в примере mu, проблема в том, что это не работает нормально. Он всегда возвращает (int) 1 для каждого элемента массива.