在PHP中更改特定元素数组中的数据类型
我有一个到MySQL的基于数组的查询。 如果阵列如下所示:在PHP中更改特定元素数组中的数据类型,php,Php,我有一个到MySQL的基于数组的查询。 如果阵列如下所示: 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=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”设置为整数?您可以使用数组映射来处理数组中的所有元素
$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));
您可以迭代数组,查看
y
是否保存数值,如果保存,则将其转换为整数:
foreach ($array as $item) {
if (is_numeric($item['y'])) {
$item['y'] = intval($item['y']);
}
}
请参见此处的工作示例:With
foreach
:
foreach($myArray as $k=>$v){ //iterate in each array
$myArray[$k]['y'] = intval($myArray[$k]['y']); //re-set value type
}
当需要将其用作整数时,将其强制转换为整数
$z=(int)$array[0]['y']+1代码>