我有一个2D数组
Array (
[0] => Array (
[item_name] => Item name1
[journal_name] => journal name1
)
[1] => Array (
[item_name] => Item name 2
[journal_name] => journal name2 )
)
我想破坏上面的数组
Item_name1#journal_name1,item_name2#journal_name2
如何加入这样的元素?
答案 0 :(得分:2)
一种解决方案是这样的:
$array = array(
array('item_name' => 'Item name1', 'journal_name' => 'journal_name1'),
array('item_name' => 'Item name2', 'journal_name' => 'journal_name2'),
array('item_name' => 'Item name3', 'journal_name' => 'journal_name3'),
);
$implodedString = implode(', ', array_map(function($array) {
return implode(' # ', $array);
}, $array));
echo $implodedString;
答案 1 :(得分:0)
$result_array = array();
foreach($your_2d_array as $val){
$result_array = $val[item_name].'#'.$val[journal_name];
}
$imploded_string = implode(',',$result_array);
还有另外一种方法 - >
echo implode(',',$result = array_map(function($k, $v){
return "$v[0]#$v[1]";
}, array_keys($your_2d_array), array_values($your_2d_array)));
答案 2 :(得分:0)
检查一下:
<?php
$arr = array (
0 => Array (
'item_name' => 'Item name1',
'journal_name' => 'journal name1'
) ,
1 => Array (
'item_name' => 'Item name 2',
'journal_name' => 'journal name2'
)
);
foreach($arr as $key=>$val) {
$implodeArr[$key] = implode('#', $val);
}
$implodeStr = implode(',', $implodeArr);
?>
答案 3 :(得分:0)
检查以下内容,这是没有foreach
循环
$input = array(
array(
'item_name' => 'Item name1',
'journal_name' => 'journal name1'
),
array(
'item_name' => 'Item name2',
'journal_name' => 'journal name2'
)
);
echo implode(', ', array_map(function ($entry) {
return $entry['item_name'] . ' # ' . $entry['journal_name'];
}, $input));