解決済み

文字列内で定数を使いたいときに手間がかかる

  • すぐに回答を!
  • 質問No.9579018
  • 閲覧数84
  • ありがとう数0
  • 気になる数0
  • 回答数1
  • コメント数0

お礼率 65% (42/64)

文字列内で定数を使いたいときにこういう手法があります。
$a = function($t){ return $t };
echo "{$a(TEISUU)}";

これをいろんな関数内でも気軽に使いたいのですが、いざやってみると
 ・必要な場所で毎回上記を定義する
 ・ライブラリ関数として別個定義しインクルードしておいて、使いたい関数内でglobal宣言する
 ・$GLOBALSを使う
このようにいずれも余計な手間や見た目が雑になってしまい使い勝手が悪いです。

どの関数内でも手間いらずで「$a(定数)」を使う方法はないでしょうか。

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

  • 回答No.1

ベストアンサー率 67% (84/124)

「$a(定数)」を使う方法ではないのですが、文字列内で定数を用いるという目的を実現するだけであればもっと楽な方法があるのではと考えます。

define("TEISUU", 100);
$str = "foo%%TEISUU%%bar";
$str = str_replace('%%TEISUU%%', TEISUU, $str);
echo $str; // foo100bar

これは定数"TEISUU"の値を入れたい部分に%%TEISUU%%を入れておき、後から置換する方法です。
他にも状況に応じてスマートな方法があると思いますので、一つの方法にこだわらずに別の方法を考えるとよいかもしれません。
補足コメント
ankodaisuki

お礼率 65% (42/64)

ありがとうございます。
今も検索していていろんな方法があるようですが、使うときにシンプルな表現だけで済むやり方はやはり見つかっていません。
投稿日時 - 2019-01-19 11:08:24
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,500万件のQ&Aを分析して最適な回答をご提案します。

関連するQ&A
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する

特集


OKWAVE若者応援スペシャル企画

ピックアップ

ページ先頭へ