我应该怎么做这个数组值,以字符串形式转换字符串数组为int
Array
(
[0] => ["1","2"]
[1] => ["5"]
)
转换成int形式
Array
(
[0] => 1
[1] => 2
[2] => 5
)
是否复杂?任何人都可以帮忙
我应该怎么做这个数组值,以字符串形式转换字符串数组为int
Array
(
[0] => ["1","2"]
[1] => ["5"]
)
转换成int形式
Array
(
[0] => 1
[1] => 2
[2] => 5
)
是否复杂?任何人都可以帮忙
你只需要遍历数组的两层。
$input=[["1","2"],["5"]];
foreach($input as $a){
foreach($a as $v){
$result[]=+$v; // make integer
}
}
var_export($result);
试试这个:
$array = [
["1", "2"],
["5"],
];
$newArray = [];
foreach ($array as $rowArr) {
foreach ($rowArr as $str) {
$newArray[] = intval($str);
}
}
var_dump($newArray);
这将返回:
array (size=3)
0 => int 1
1 => int 2
2 => int 5
这是通过迭代$array
,然后遍历$array
的子元素($rowArr
)和之后加入每个元素$newArray
在其上运行intval
。
使用array_reduce
$a = Array
(
0=> ["1","2"],
1=> ["5"]
);
$r = array_reduce($a, 'array_merge', array());
print_r($r);
结果:
Array ([0] => 1 [1] => 2 [2] => 5)
可以使用array_map
解析字符串,int和array_reduce
与array_merge
加入阵列
$data = Array(["1","2"],["5"]);
$result = array_map('intval', array_reduce($data, 'array_merge', array()));
print_r($result);
另一种方法:创建closure即casts变量将其插入并附加到数组中。
$appendInt = function($x) use (&$result) { $result[] = (int) $x; };
// reference to result array^ append to result^ ^cast to int
它应用到你与array_walk_recursive
多维数组的每一个元素。
array_walk_recursive($your_array, $appendInt);
int的平面阵列将在$result
变量中。
所以只是要清楚:是你的输入:'Array(...)'一个字符串还是你只是在谈论数组内的值? – Rizier123
你有什么尝试?几行PHP将做 – Raptor
我猜'array_map('intval',$ array)'会在这里帮助。 – modsfabio