这是我的输入数组...
$var = Array ( [0] => 57;5;7;Hertha BSC - SV Werder Bremen [1] => Heim )
我使用此功能将其更改为另一个数组
$int_array = array_map("intval", explode(";", $var[0]));
当我调用这个数组时,我得到了这个结果
Array ( [0] => 57 [1] => 5 [2] => 7 [3] => 0 )
但是为什么Array位置[3] = 0.必须有“Hertha BSC ......”?
答案 0 :(得分:1)
根据PHP文档,intval
函数的描述是:
获取变量的整数值
Hertha BSC - SV Werder Bremen
的整数值(;
上爆炸"57;5;7;Hertha BSC - SV Werder Bremen"
创建的数组的第4个元素)不清楚。
在此上下文中输入字符串不会产生有意义的结果。所以,我不认为它是错误的结果。
这里的东西可能会让你更接近我认为你之后的东西,不过
$var = [
'57;5;7;Hertha BSC - SV Werder Bremen',
'Heim'
];
$int_array = array_map(
function($item) {
// In cases where the exploded array item is not entirely made up of digits, return it as a string.
if (0 === preg_match('/\d+/', $item)) {
return $item;
}
// else, cast to int.
return intval($item);
},
explode(";", $var[0])
);