我应该如何制作字符串形式的数组值
Array
(
[0] => ["1","2"]
[1] => ["5"]
)
进入int形式
Array
(
[0] => 1
[1] => 2
[2] => 5
)
这很复杂吗?有人可以帮忙吗?
答案 0 :(得分:4)
您可以使用MyArray Object
(
[storage:ArrayObject:private] => Array
(
[banana] => yellow
[apple] => red
[blueberry] => blue
[orange] => orange
)
)
将字符串解析为int,将array_map
解析为array_reduce
以加入数组
array_merge
答案 1 :(得分:3)
试试这个:
$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
来实现在它上面。
答案 2 :(得分:3)
使用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 )
答案 3 :(得分:0)
您只需循环遍历阵列的两个层。
$input=[["1","2"],["5"]];
foreach($input as $a){
foreach($a as $v){
$result[]=+$v; // make integer
}
}
var_export($result);
答案 4 :(得分:0)
另一种方法:创建一个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);
整数的整数将位于$result
变量中。