• ベストアンサー

変数名を重複しないようにする

$char=1; $char1=2; $char2=3; のように定義していくと $char1=3 と間違って代入した場合、2であるはずの中身が3になってしまいます。 このような重複による代入を防ぐにはどのような方法がありますでしょうか。 宜しくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
noname#244856
noname#244856
回答No.3

PHPは変数に対する再代入が可能な手続き型言語です。手続きの煩雑さを嫌うのであれば、Scala/Haskellなどの関数型言語の学習をおすすめします。このような言語には「変数: var(variable)」とは違い、再代入不可能な「値: val(value)」という概念があります。なお近年関数型言語に注目がどんどん集まってきているので、(案件があるかどうかは別として)個人的にはPHPよりも学習価値があると思います。 既にある回答に関しての意見↓ 「命名に意味を持たせる/スコープを細かく分割する」 → PHPを利用するのであれば最も賢明な選択だと思います。私もこれを支持します。 「定数を利用する」 → PHPの定数にはスコープが存在しないので、この用途での使用には向かないと思います。

その他の回答 (2)

回答No.2

変更されたくないなら、変数じゃなくて定数(define)使えばよいような。

  • hitomura
  • ベストアンサー率48% (325/664)
回答No.1

プログラムによって自動検知する方法はありません。 プログラマとしては、 ・間違って代入されたら困る変数には $char のようなプログラム内での意味を表さない変数名ではなく、プログラム内での意味を簡素に表す変数名を与える。 ・関数等で変数が生存するスコープを小さくする。 ・代入する変数を間違えないように注意する。 を心がけるしかありません。

関連するQ&A