内爆二维数组

时间:2014-08-07 09:31:33

标签: php arrays multidimensional-array implode

我有一个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

如何加入这样的元素?

4 个答案:

答案 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));