我有一个这样的数组:
Array (
[3] => 15
[30] => 1
[1] => 1 )
我想将其转换为如下字符串: $ string =“3:15; 30:1; 1:1;”
提前谢谢你
答案 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);
}
编辑:如果你想要“阻止发布”数组,这就是你要去的方法,这意味着你不想在字符串的末尾附加一个额外的分号。