假设我有这个:
$array = array("john" => "doe", "foe" => "bar", "oh" => "yeah");
foreach($array as $i=>$k)
{
echo $i.'-'.$k.',';
}
Run Code Online (Sandbox Code Playgroud)
回声 "john-doe,foe-bar,oh-yeah,"
我怎么摆脱最后一个逗号?
cod*_*ict 19
或者,您可以使用以下rtrim功能:
$result = '';
foreach($array as $i=>$k) {
$result .= $i.'-'.$k.',';
}
$result = rtrim($result,',');
echo $result;
Run Code Online (Sandbox Code Playgroud)
jed*_*der 10
我不喜欢以前的所有食谱.
Php不是C,并且有更高级别的方法来处理这个特殊问题.
我将从你有这样一个数组的点开始:
$array = array('john-doe', 'foe-bar', 'oh-yeah');
Run Code Online (Sandbox Code Playgroud)
您可以使用循环或array_map()函数从初始数组构建此类数组.请注意,我使用的是单引号字符串.如果您没有需要替换的变量名称,那么这是一个微优化.
现在你需要从这个数组生成一个CSV字符串,它可以这样做:
echo implode(',', $array);
Run Code Online (Sandbox Code Playgroud)
一种方法是使用 substr
$array = array("john" => "doe", "foe" => "bar", "oh" => "yeah");
$output = "";
foreach($array as $i=>$k)
{
$output .= $i.'-'.$k.',';
}
$output = substr($output, 0, -1);
echo $output;
Run Code Online (Sandbox Code Playgroud)
另一种方法是使用 implode
$array = array("john" => "doe", "foe" => "bar", "oh" => "yeah");
$output = array();
foreach($array as $i=>$k)
{
$output[] = $i.'-'.$k;
}
echo implode(',', $output);
Run Code Online (Sandbox Code Playgroud)