2017-02-07 5 views
-1

Ich habe eine Array-basierte Abfrage in MySQL. Wenn das Array, das so kommen:Ändern Sie den Datentyp in bestimmten Element-Array in PHP

array (size=6) 
0 => 
array (size=2) 
    'name' => string 'Login' (length=5) 
    'y' => string '1' (length=1) 
1 => 
array (size=2) 
    'name' => string 'Printer' (length=7) 
    'y' => string '2' (length=1) 
2 => 
array (size=2) 
    'name' => string 'Monitor' (length=7) 
    'y' => string '0' (length=1) 
3 => 
array (size=2) 
    'name' => string 'Computer' (length=8) 
    'y' => string '0' (length=1) 
4 => 
array (size=2) 
    'name' => string 'Network' (length=7) 
    'y' => string '0' (length=1) 
5 => 
    array (size=2) 
    'name' => string 'Lain Lain' (length=9) 
    'y' => string '0' (length=1) 

Wie kann ich alle Schlüssel ‚y‘ als ganze Zahl zu machen?

+2

Guss es zu einer ganzen Zahl, wenn man es als eine ganze Zahl '$ z = (int) $ array [0] [ 'Y'] verwenden, müssen + 1;' – RiggsFolly

Antwort

0

können Sie verwenden array_map, um alle Elemente in Array zu behandeln

$arr = [ 
    ['x' => 'str', 'y' => '1'], 
    ['x' => 'str', 'y' => '2'], 
    ['x' => 'str', 'y' => '3'] 
]; 


print_r(array_map(function($el) { 
    $el['y'] = intval($el['y']); 
    return $el; 
}, $arr)); 
-1

Sie über das Array iterieren können und sehen, ob y einen numerischen Wert enthält und wenn ja, warf sie als Integer:

foreach ($array as $item) { 
    if (is_numeric($item['y'])) { 
     $item['y'] = intval($item['y']); 
    } 
} 

sehen Sie ein funktionierendes Beispiel hier: https://3v4l.org/ABDof

-1

Mit foreach:

foreach($myArray as $k=>$v){ //iterate in each array 
     $myArray[$k]['y'] = intval($myArray[$k]['y']); //re-set value type 
    } 

Example

Verwandte Themen