2016-03-30 3 views
1

のない配列は、これはコードの私の一部ですが:- コンマ

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の後にカンマ記号があるため、これは機能しません。この文を書く方法は次のような結果を得る:["word1", "word2", "word3"]

+1

あなたは 'array_push()を使用することができます;あなたは$コンテンツのような配列を作成できるコンテンツ$に追加するのではなく、コンマブツ:) –

+1

を排除するために、' = []と使用してarray_push($ aData ['sName']と["word1"、 "word2"、 "word3"]のような結果を得るにはjson_encode($ content);を使用する –

答えて

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++; 
     } 
+0

これはそれです!ありがとうございました! – user3180931

+0

あなたは大歓迎です! –

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); 
+0

実際の機能ページ:http://php.net/manual/en/function.ltrim.php –

+0

申し訳ありませんrtrimを使用するようにしました。ありがとう@スガタ –

1

また、これにはarrayを使用できます。そして最後には単にimplodeです。

for($i = $aKeys['iStart']; $i < $aKeys['iEnd']; $i++){ 
    $aData = $this->aProducts[$aProducts[$i]]; 
    $content[] = '"'.$aData['sName'].'"'; 
} 

$content = '"' . implode('","', $content) . '"'; 
0

使用array_push();機能

$var = array(); 

loop(condition){ 
    array_push($var, $value); 
} 
+1

OPは配列ではなく、 '、'で区切られた値を持つ文字列を必要とします。 –

+0

@Sougata、My bad XD –

+1

@SougataあなたはMattのソリューションを使用し、json_encode($ array) –

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++; 
     }