我试图破坏一个多维数组,但我错过了一些东西。
这是数组:
Array
(
[0] => Array
(
[0] => Brand 1
)
[1] => Array
(
[0] => Brand 2
)
)
因此,经过一些谷歌搜索,我找到了几个解决方案,但他们都给了我不同的错误。
我读到array_map()
应该有用,但我无法弄清楚第二个参数应该是什么。
我收到以下错误:
警告:array_map()需要至少2个参数,1在
中给出
这是我的代码:
$imploded = implode("','",array_map($brand_array));
$brand_array
是一个由in_array
函数
目标是获得逗号分隔的字符串,如:
brand1, brand2
答案 0 :(得分:2)
array_map()
希望您将回调函数添加为第一个参数,将数组添加为第二个参数。
如果你看一下这个函数的签名,你也可以看到这个:
array array_map( callable $ callback,array $ array1 [,array $ ...])
<强>参数:强>
回调:
阵列:
你只有array_map
中的数组你需要这样的东西:
array_map('functionname', $array);
答案 1 :(得分:2)
好像你对如何使用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()
的返回值,然后用逗号再次破坏它,你最终会得到:
1,2,1,2
答案 2 :(得分:0)
尝试以下代码
$input = array(
array(
'brand 1'
),
array(
'brand 2'
)
);
echo implode(', ', array_map(function ($entry) {
return $entry[0];
}, $input));