在PHP中更改特定元素数组中的数据类型

在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 =

我有一个到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=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