这是我的代码部分:
for( $i = $aKeys['iStart']; $i < $aKeys['iEnd']; $i++ )
{
$aData = $this->aProducts[$aProducts[$i]];
$content .= '"'.$aData['sName'].'"';
if ($i < $aKeys['iEnd'])
{
$content .= ', ';
}
$i2++;
}
完整代码给我的结果是:
["word1", "word2", "word3", ]
这是一个简单的数组,我将使用它,但这不起作用,因为在word3之后有一个逗号。如何写这个if语句来获得如下结果:["word1", "word2", "word3"]
?
答案 0 :(得分:5)
在长度为1的条件上修复你的错误。
for( $i = $aKeys['iStart']; $i < $aKeys['iEnd']; $i++ ){
$aData = $this->aProducts[$aProducts[$i]];
$content .= '"'.$aData['sName'].'"';
if ($i < $aKeys['iEnd']-1) {
$content .= ', ';
}
$i2++;
}
答案 1 :(得分:1)
您可以使用rtrim()删除逗号。
rtrim($content, ',');
正如我所见,您希望所有名称都以逗号分隔。你也可以这样做:
$content = array();
for( $i = $aKeys['iStart']; $i < $aKeys['iEnd']; $i++ ){
$aData = $this->aProducts[$aProducts[$i]];
$content[] = $aData['sName'];
}
echo implode(',',$content);
答案 2 :(得分:1)
或者,您可以使用array
。最后只需implode
他们。
for( $i = $aKeys['iStart']; $i < $aKeys['iEnd']; $i++ ){
$aData = $this->aProducts[$aProducts[$i]];
$content[] = '"'.$aData['sName'].'"';
}
$content = '"' . implode('","', $content) . '"';
答案 3 :(得分:1)
for( $i = $aKeys['iStart']; $i < $aKeys['iEnd']; $i++ ){
$aData = $this->aProducts[$aProducts[$i]];
$content .= '"'.$aData['sName'].'"';
if ($i < $aKeys['iEnd'] && $i!=($aKeys['iEnd']-1)) { //this condition also considers $i not to be the last element of the array before appending the comma to it.
$content .= ', ';
}
$i2++;
}
答案 4 :(得分:0)
使用array_push();
功能
$var = array();
loop(condition){
array_push($var, $value);
}