PHP,数组到字符串与分隔符

时间:2014-05-28 18:38:55

标签: php arrays string

我有一个这样的数组:

Array (
       [3] => 15 
       [30] => 1 
       [1] => 1 )

我想将其转换为如下字符串:     $ string =“3:15; 30:1; 1:1;”

提前谢谢你

3 个答案:

答案 0 :(得分:1)

根据您的数组,$array

$str = '';
foreach ($array as $k => $v) {
    $str .= $k . ':' . $v . ';';
}

echo $str; // 3:15;30:1;1:1;

答案 1 :(得分:1)

这是单行:

$array = array(
    3 => 15,
    30 => 1,
    1 => 1,
);

// "3:15;30:1;1:1" ( without last semicolon )
$string = implode( ';', array_map( 
    function($v, $k) { 
        return "$k:$v"; 
    }, $array, array_keys($array) ) 
);

// "3:15;30:1;1:1;" ( with last semicolon  )
$string = implode( array_map( 
    function($v, $k) { 
        return "$k:$v;"; 
    }, $array, array_keys($array) ) 
);

答案 2 :(得分:0)

这是一种快速简便的方法。

function delimit(&$anArray) {
    $preArray = array();
    foreach($anArray as $key => $value)
        $preArray[] "$key:$value"
    return implode(";", $preArray);
}

编辑:如果你想要“阻止发布”数组,这就是你要去的方法,这意味着你不想在字符串的末尾附加一个额外的分号。