我應該怎麼做這個數組值,以字符串形式轉換字符串數組爲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