内爆一个多维数组
Implode a mult-dimensional array
我正在尝试内爆一个多维数组,但我遗漏了一些东西。
这是数组:
Array
(
[0] => Array
(
[0] => Brand 1
)
[1] => Array
(
[0] => Brand 2
)
)
所以经过一些 google-ing 我找到了几个解决方案,但它们都给了我不同的错误。
我读到 array_map()
应该可以,但我不知道第二个参数应该是什么。
我收到以下错误:
Warning: array_map() expects at least 2 parameters, 1 given in
这是我的代码:
$imploded = implode("','",array_map($brand_array));
$brand_array
是由 in_array
函数
构造的新创建的数组
目标是获得逗号分隔的字符串,例如:
brand1, brand2
array_map()
希望您将回调函数添加为第一个参数,将数组添加为第二个参数。
如果您查看函数的签名,您也可以看到这一点:
array array_map ( callable $callback , array $array1 [, array $... ] )
参数:
回调:
- 每个数组中每个元素的回调函数运行。
数组:
- 一个数组通过回调函数运行。
你只有 array_map
中的数组你需要这样的东西:
array_map('functionname', $array);
嗯,看来您对如何使用 array_map()
有点困惑。但这应该适合你:
echo implode(",", array_map(function($v){
return implode(",", $v);
}, $arr));
举个例子:
$arr = [
[1,2],
[1,2],
];
使用 array_map()
遍历每个 innerArray 并用逗号 implode()
它,因此最终得到以下数组:
Array ( [0] => 1,2 [1] => 1,2 )
现在你有一个一维数组,你必须再次内爆 array_map()
的 return 值,然后用逗号再次内爆它,你将得到:
1,2,1,2
试试下面的代码
$input = array(
array(
'brand 1'
),
array(
'brand 2'
)
);
echo implode(', ', array_map(function ($entry) {
return $entry[0];
}, $input));
我正在尝试内爆一个多维数组,但我遗漏了一些东西。
这是数组:
Array
(
[0] => Array
(
[0] => Brand 1
)
[1] => Array
(
[0] => Brand 2
)
)
所以经过一些 google-ing 我找到了几个解决方案,但它们都给了我不同的错误。
我读到 array_map()
应该可以,但我不知道第二个参数应该是什么。
我收到以下错误:
Warning: array_map() expects at least 2 parameters, 1 given in
这是我的代码:
$imploded = implode("','",array_map($brand_array));
$brand_array
是由 in_array
函数
目标是获得逗号分隔的字符串,例如:
brand1, brand2
array_map()
希望您将回调函数添加为第一个参数,将数组添加为第二个参数。
如果您查看函数的签名,您也可以看到这一点:
array array_map ( callable $callback , array $array1 [, array $... ] )
参数:
回调:
- 每个数组中每个元素的回调函数运行。
数组:
- 一个数组通过回调函数运行。
你只有 array_map
中的数组你需要这样的东西:
array_map('functionname', $array);
嗯,看来您对如何使用 array_map()
有点困惑。但这应该适合你:
echo implode(",", array_map(function($v){
return implode(",", $v);
}, $arr));
举个例子:
$arr = [
[1,2],
[1,2],
];
使用 array_map()
遍历每个 innerArray 并用逗号 implode()
它,因此最终得到以下数组:
Array ( [0] => 1,2 [1] => 1,2 )
现在你有一个一维数组,你必须再次内爆 array_map()
的 return 值,然后用逗号再次内爆它,你将得到:
1,2,1,2
试试下面的代码
$input = array(
array(
'brand 1'
),
array(
'brand 2'
)
);
echo implode(', ', array_map(function ($entry) {
return $entry[0];
}, $input));