2017-02-07 93 views
-1

我有一個基於數組的MySQL查詢。 如果來到像這樣的數組:在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) 

我怎樣才能讓所有的關鍵「Y」爲整數?

+2

它轉換爲當需要使用它作爲一個整數'$ Z =(int)的$陣列的整數[0] [ 'Y'] + 1;' – RiggsFolly

回答

0

可以使用array_map來處理數組的所有元素

$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

可以迭代這個數組,看看是否y持有數值,如果這樣做,將它轉換爲整數:

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

看到這裏工作的例子:https://3v4l.org/ABDof

-1

隨着foreach

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

Example