2017-05-26 4 views
2

Wie int soll ich machen dieses Array Wert, derConvert Array String

Array 
(
    [0] => ["1","2"] 
    [1] => ["5"] 
) 

in int Form

Array 
(
    [0] => 1 
    [1] => 2 
    [2] => 5 
) 

Ist es kompliziert in String-Form ist? Jeder kann helfen?

+1

Also nur um klar zu sein: Ist Ihre Eingabe: 'Array (...)' ein String oder sprechen Sie nur über die Werte innerhalb des Arrays? – Rizier123

+2

Was hast du probiert? Einige Zeilen von PHP werden – Raptor

+1

Ich denke, Array_map ('Intval', $ Array) 'wird hier helfen. – modsfabio

Antwort

0

Sie müssen nur die zwei Schichten Ihres Arrays durchlaufen.

$input=[["1","2"],["5"]]; 

foreach($input as $a){ 
    foreach($a as $v){ 
     $result[]=+$v; // make integer 
    } 
} 
var_export($result); 
3

Try this:

$array = [ 
    ["1", "2"], 
    ["5"], 
]; 

$newArray = []; 
foreach ($array as $rowArr) { 
    foreach ($rowArr as $str) { 
     $newArray[] = intval($str); 
    } 
} 
var_dump($newArray); 

Das gibt:

array (size=3) 
    0 => int 1 
    1 => int 2 
    2 => int 5 

Dies funktioniert durch $array Iterieren, dann $array ‚s Child-Elemente iterieren ($rowArr) und das Hinzufügen jedes Element auf $newArray nach läuft intval darauf.

3

Verwenden array_reduce

$a = Array 
(
    0=> ["1","2"], 
    1=> ["5"] 
); 
$r = array_reduce($a, 'array_merge', array()); 
print_r($r); 

Ergebnis:

Array ([0] => 1 [1] => 2 [2] => 5) 
4

Sie array_map Zeichenfolge analysieren verwenden können, um int und array_reduce mit array_merge die Arrays

$data = Array(["1","2"],["5"]); 
$result = array_map('intval', array_reduce($data, 'array_merge', array())); 
print_r($result); 
0

Eine andere Möglichkeit, beizutreten: erstellen a closure dass casts Variablen zu ints und hängt sie an ein Array an.

$appendInt = function($x) use (&$result) { $result[] = (int) $x; }; 
// reference to result array^ append to result^  ^cast to int 

es zu jedem Element Ihrer mehrdimensionales Array Nehmen mit array_walk_recursive.

array_walk_recursive($your_array, $appendInt); 

Die flache Array von ints wird in dem $result variabel sein.