Строка в массив целых чисел php

Я хочу преобразовать строку, например, 1,2,3,4,5,6, в массив целых чисел в php? Я нахожу функции, которые имеют доступ только к первому символу строки, например 1. Как я могу передать всю строку в массив?

function read_id_txt() { $handle_file = fopen("temporalfile.txt", 'r'); $i=0; while ($array_var[$i] = fgets($handle_file, 4096)) { echo "<br>"; print_r($array_var[i]); $i++; } fclose($handle_file); $temp=explode(" ", $array_var[0]); return $temp; } 

Используйте PHP- взрыва .

 $str = "1,2,3,4,5,6"; $arr = explode("," $str); // array( '1', '2', '3', '4', '5', '6' ); foreach ($arr AS $index => $value) $arr[$index] = (int)$value; // casts each value to integer type -- array( 1, 2, 3, 4, 5, 6 ); 

Как предложил Тим Купер , использование array_walk проще, чем предыдущий цикл:

 array_walk($arr, 'intval'); 
 return array_map('intval', explode(",", '1,2,3,4,5,6,7,8,9')); 
 explode(",",'1,2,3,4,5,6,7,8,9'); 

http://www.php.net/manual/en/function.explode.php

Вышеуказанные ответы могут потенциально возвращать нечисловые значения

array_walk & array_map с intval

Оба возвращают массивы, которые испорчены нечисловыми значениями.

 $string = ',g,6,4,3,f,32,a,'; $array = explode(',', $string); array_walk($array, 'intval'); $arrayMap = array_map('intval', $array); var_dump($array); var_dump($arrayMap); /* array(9) { [0]=> string(0) "" [1]=> string(1) "g" [2]=> string(1) "6" [3]=> string(1) "4" [4]=> string(1) "3" [5]=> string(1) "f" [6]=> string(2) "32" [7]=> string(1) "a" [8]=> string(0) "" } */ 

array_filter возвращает только числовые значения

 $string = ',g,6,4,3,f,32,a,'; $array = explode(',', $string); $numericOnlyArray = array_filter($array,'is_numeric'); var_dump($numericOnlyArray); /* result: array(4) { [2]=> string(1) "6" [3]=> string(1) "4" [4]=> string(1) "3" [6]=> string(2) "32" } */ 

Чтобы получить только целые числа

 $string = ',g,6,4,3,f,32,a,'; $array = explode(',', $string); $result = array_map('intval', array_filter($array, 'is_numeric')); var_dump($result); /* result: array(4) { [2]=> int(6) [3]=> int(4) [4]=> int(3) [6]=> int(32) } } */ 

Вы можете использовать http://pl.php.net/manual/en/function.explode.php