Преобразование массива строк в массив целых чисел

#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 для каждого элемента массива.