Chr*_*son 5 php arrays implode
我有一个嵌套数组(只有一个深度),如下所示:
$a = array(
array( 1, 2, 3 ),
array( 2, 4, 6 ),
array( 5, 10, 15 )
);
Run Code Online (Sandbox Code Playgroud)
而且我想要一种很好的方式将它内爆()到这种形式:
1,2,3|2,4,6|5,10,15
Run Code Online (Sandbox Code Playgroud)
我可以在implode(',',...)每个数组中运行一个循环$a(将这些字符串存储在temp中),然后运行implode('|',...)该临时数组,但似乎我应该能够用PHP更简洁地执行此操作.
提前谢谢,
干杯!
*"更简洁"我的意思是,没有编写循环(所以,只使用函数调用)
我在这里比赛迟到了(按照SO标准),但你可以从字面上看"双重"内爆.
implode('|', array_map('implode', array_fill(0, count($a), ','), $a))
Run Code Online (Sandbox Code Playgroud)
function implodeComas($arr)
{
return implode(',',$arr);
}
$out = implode('|', array_map('implodeComas', $a));
echo $out;
Run Code Online (Sandbox Code Playgroud)
更好的一个:
function myImplode($ret,$current)
{
if($ret)
$ret .= '|';
return $ret .= implode(',',$current);
}
echo array_reduce($a, 'myImplode');
Run Code Online (Sandbox Code Playgroud)
这是一个非常脏的方式:
str_replace('],[', '|', trim(json_encode($a), '[]'));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2013 次 |
| 最近记录: |