Php 分解数组元素的每个值
我有这样一个数组:Php 分解数组元素的每个值,php,arrays,explode,Php,Arrays,Explode,我有这样一个数组: Array ( [2] => 2,6 [3] => 1 [4] => 14 [5] => 10 [6] => 8 ) 我想分解数组的每个元素,并使用array_map返回一个新数组,这样我就可以避免使用循环,并创建额外的函数来回调 O/p应类似于: Array ( [2] => Array ( [0] => 2 [1] => 6 ) [3] =
Array
(
[2] => 2,6
[3] => 1
[4] => 14
[5] => 10
[6] => 8
)
我想分解数组的每个元素,并使用array_map返回一个新数组,这样我就可以避免使用循环,并创建额外的函数来回调 O/p应类似于:
Array
(
[2] => Array
(
[0] => 2
[1] => 6
)
[3] => Array
(
[0] => 1
)
[4] => Array
(
[0] => 14
)
[5] => Array
(
[0] => 10
)
[6] => Array
(
[0] => 8
)
)
尝试以下代码
$newArr = array_map(function($val, $key){
return explode(",", $val);
}, $arr);
你可以用
$result = array_map(function($val) {
return explode(',', $val);
}, $input);
这将导致
Array
(
[2] => Array
(
[0] => 2
[1] => 6
)
[3] => Array
(
[0] => 1
)
[4] => Array
(
[0] => 14
)
[5] => Array
(
[0] => 10
)
[6] => Array
(
[0] => 8
)
)
这将在支持匿名函数的PHP>=5.3上运行。
$data = array(2 => '2,6',3 => '1',4 => '14',5 => '10',6 => '8');
foreach($data as $key => $val) {
$new = explode(',',$val);
$data[$key] = $new;
}
$output = $data;
echo '<pre>';
print_r($output);
你也可以
Array
(
[2] => Array
(
[0] => 2
[1] => 6
)
[3] => Array
(
[0] => 1
)
[4] => Array
(
[0] => 14
)
[5] => Array
(
[0] => 10
)
[6] => Array
(
[0] => 8
)
)
这也将导致
那么,在哪里使用数组映射呢?您还知道,在数组的末尾,数组映射也将在数组上循环。避免使用循环,并创建额外的函数来回调-数组映射也将回调函数用作其第一个函数argument@AlokJha你试过我的答案了吗?避免使用循环和创建额外的函数来回调-因为我们已经有函数爆炸了,所以不要再创造其他的function@mohit,是的,这对我来说很有用,谢谢。我不想要任何额外的循环,因为我们有数组映射。这个代码片段可以解决这个问题,真的有助于提高你文章的质量。请记住,您将在将来回答读者的问题,这些人可能不知道您的代码建议的原因。还请尽量不要用解释性注释挤满您的代码,因为这会降低代码和解释的可读性!
Array
(
[2] => Array
(
[0] => 2
[1] => 6
)
[3] => Array
(
[0] => 1
)
[4] => Array
(
[0] => 14
)
[5] => Array
(
[0] => 10
)
[6] => Array
(
[0] => 8
)
)