Приведенные выше ответы могут потенциально возвращать нечисловые значения
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)
}
}
*/