• 締切済み

文字列の結合について

こんにちわ。文字列の結合について質問があります。 下記のコードに問題はありますか? $strは "1|2|3|4|5|" となるはずなのですが、 "5|" となってしまいます。 コードの記述方法に問題があるかご指摘いただければ幸いです。 よろしくお願いいたします。 *****コード $x=5; $str=""; for($i=0; $i<$x; $i++) { $str = $str . $i+1 . "|"; }

みんなの回答

  • tom233
  • ベストアンサー率17% (61/352)
回答No.3

追記。 質問者は何故上記の様なソースコードになったのでしょうか? $x=5; $str=""; for($i=1; $i<=$x; $i++) { $str .= $i . "|"; } でいいと思いますけど

nice-chap
質問者

お礼

ありがとうございました。

  • tom233
  • ベストアンサー率17% (61/352)
回答No.2

#1の人の書き方以外に $str .= $i+1 . "|"; でもうまく行くはずです。

nice-chap
質問者

お礼

ありがとうございました。

  • Werner
  • ベストアンサー率53% (395/735)
回答No.1

> $str = $str . $i+1 . "|";  $str = $str . ($i+1) . "|"; とすれば意図通り動作すると思います。 演算子が左結合なので  $str . $i+1 では、文字列 $str.$i に 数値 1 を足すと見なされます。

nice-chap
質問者

お礼

ありがとうございました。