我正在设置这样的功能:
function return_my_arrays() {
$the_array = array(
array(
'foo' => '1',
'bar' => '12'
),
array(
'foo' => '41',
'bar' => '512'
),
array(
'foo' => 'b1',
'bar' => 'a'
),
);
return implode( ',', $the_array );
}
我需要返回与此函数分开的第二级数组逗号。但是这段代码不起作用。
这些数组将用于另一个多维数组,并将进行扩展。直接返回$ the_array对我不起作用。
答案 0 :(得分:0)
我希望我可以帮助你,也许你需要的是:
function return_my_arrays() {
$the_array = array(
array(
'foo' => '1',
'bar' => '12'
),
array(
'foo' => '41',
'bar' => '512'
),
array(
'foo' => 'b1',
'bar' => 'a'
),
);
$commaSeparated = '';
foreach($the_array as $level2Array)
{
$commaSeparated .= $level2Array.',';
}
return $commaSeparated;
}
答案 1 :(得分:0)
你需要循环你的数组来获取内部数组 - 所以你可以操纵它。
这样的事情应该足够了;
function return_my_arrays() {
$the_array = array(
array(
'foo' => '1',
'bar' => '12'
),
array(
'foo' => '41',
'bar' => '512'
),
array(
'foo' => 'b1',
'bar' => 'a'
),
);
$return = array();
foreach($the_array as $inner_array) {
$return[] = implode(",", $inner_array);
}
return implode(",", $return);
}
答案 2 :(得分:0)
array_map允许您在没有循环的情况下执行此操作
return implode(',', array_map(function ($entry) {
return $entry['foo'].",".$entry['bar'];
}, $the_array)); // 1,12,41,512,b1,a
答案 3 :(得分:-1)
我认为这与php的工作方式不可能。但我找到了一个肮脏的解决方案。
我打电话给' n'来自函数的数组如下:
array(
return_my_arrays()[0],
return_my_arrays()[1],
)
我不知道这是不是一个好习惯,但这确实是我真正需要的。