Zum größten Teil sollten Sie nicht wirklich brauchen (PHP ist in der Regel gut mit der Handhabung Guss Saiten und Schwimmer/Ints), aber wenn es unbedingt notwendig ist, Sie können array_walk
mit intval
oder floatval
:
$arr = explode(',','1,2,3');
// use floatval if you think you are going to have decimals
array_walk($arr,'intval');
print_r($arr);
Array
(
[0] => 1
[1] => 2
[2] => 3
)
Wenn Sie etwas ein bisschen ausführlicher benötigen, können Sie auch in settype
aussehen:
$arr = explode(",","1,2,3");
function fn(&$a){settype($a,"int");}
array_walk($f,"fn");
print_r($f);
Array
(
[0] => 1
[1] => 2
[2] => 3
)
, die besonders nützlich sein könnte, wenn Sie versuchen, dynamisch zu werfen:
class Converter {
public $type = 'int';
public function cast(&$val){ settype($val, $this->type); }
}
$c = new Converter();
$arr = explode(",","1,2,3,0");
array_walk($arr,array($c, 'cast'));
print_r($arr);
Array
(
[0] => 1
[1] => 2
[2] => 3
[3] => 0
)
// now using a bool
$c->type = 'bool';
$arr = explode(",","1,2,3,0");
array_walk($arr,array($c, 'cast'));
var_dump($arr); // using var_dump because the output is clearer.
array(4) {
[0]=>
bool(true)
[1]=>
bool(true)
[2]=>
bool(true)
[3]=>
bool(false)
}
wird Ihre Zeichenfolge Ganzzahlen enthalten und nur Komma ?? –
@User, nur ganze Zahlen und Kommas, sonst nichts –
Überprüfen Sie diesen Beitrag: http://Stackoverflow.com/questions/9593765/how-to-convert-array-values-from-string-to-int –