PHP5ユーザーです。
定数定義のdefine() というのを最近知りました。
一見便利な気がしたのですが、変数とは勝手が違うため不便に感じることがあります。
例えば、
$useEnc = 'EUC-JP';
header('Content-Type: text/html; charset={$useEnc}');
上記をdefine()で書き直そうとすると代入できません。
また、ヒアドキュメンント内で定数を代入しようとしてもできません。
プロの方はこういうのをどのように扱っているのでしょう。
お詳しい方、よろしくお願いいたします。
No.1ベストアンサー
- 回答日時:
文字列連結の方法ってしってます?
$string = 'aiueo'.'kakikukeko';
これで、
echo $string;
で
aiueokakikukeko が代入されていることが分かります。
これと同じ要領
define('CONSTANT', 'EUC-JP');
header('Content-Type: text/html; charset='.CONSTANT);
これだけ。
{$useEnc}
でつっこむよりも、
. で連結したほうが、微妙に処理が速いです。
No.3
- 回答日時:
メソッドの引数が省略された時にデフォルト値として代入する時にdefineで定義した値かconstで定義した値しか代入できないと思います。
define ('defaultValue', '初期値');
class Sample {
function myMethod($a = defaultValue) {
echo $a;
}
const defaultValue2 = '初期値2';
function myMethod2($b = self::defaultValue2) {
echo $b;
}
}
次のはエラーになるんじゃないですっけ
class Sample {
var $defaultValue = '初期値';
function myMethod($a = $this->defaultValue) {
echo $a;
}
}
ごめんなさいテストしないで投稿してます。
No.2
- 回答日時:
#1さんの回答で出来ますね。
違う話を補足すると、ダブルクォーテーション、{}、ヒアドキュメント構文を
使わないように意識すればいいと思いますよ。
処理を遅らせたり、見づらくなったりしますから。
http://phpdream.seesaa.net/article/19580595.html
便利だけど、テスト的なプログラム以外には使わない、って感じですねー。
この回答への補足
処理速度のことなど考えてもいませんでした…
「.」は小さくて見づらいので避けていたのですが。
可能不可能がはっきりしたのでうまく使っていけそうです。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP PostgreSQLからCSV形式でエクスポートする際にカラム内の改行をとる方法 1 2023/02/22 10:05
- その他(プログラミング・Web制作) Arduino UNO のC言語 2 2023/04/18 19:42
- PHP 入力した部分を表示させたまま(保持)するにはどうすれば良いでしょうか? 1 2023/01/25 11:14
- AJAX JavascriptからPHPへのAjax通信でnullが返ってくる 3 2022/08/03 22:00
- PHP Content-Typeが機能していない? 2 2022/07/17 11:10
- Chrome(クローム) Chromeで複数タブを開いた状態で閉じ、再度開いた場合のタブの回復は? 2 2022/04/02 01:44
- C言語・C++・C# C言語:数値の桁数指定についての質問です。 8 2022/05/26 23:53
- PHP PHPでユーザー情報を入力して簡易ログイン機能をつくってみたのですが 1 2023/05/29 08:51
- PHP PHPでCookieを使った訪問回数について 1 2023/05/28 14:10
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Dosブロンプトでtabを出力したい
-
switch()文で値の大小比較
-
バッチファイルでpingの結果を...
-
shシェルスクリプト 空白行の...
-
オブジェクトの中身の判定(PHP)
-
phpでcookieがうまく保存されない
-
ゼロとNULLを区別して number_f...
-
phpの変数に01と格納したい。
-
バッチファイルで、全てのウィ...
-
csvの特定のキーワードを指定し...
-
小数点以下0の非表示
-
DBのハッシュ化したパスワード...
-
PHP一覧表示した項目にリンクを...
-
findstrのerrorlevel
-
PHP form action 次のページ...
-
syntax error, unexpected 'ech...
-
PHPで文字列から数値に変換する...
-
【PHP】define() て便利なよう...
-
コマンドプロンプト フォルダ内...
-
php・10回目ごとに○○
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Dosブロンプトでtabを出力したい
-
バッチファイルでpingの結果を...
-
shシェルスクリプト 空白行の...
-
switch()文で値の大小比較
-
findstrのerrorlevel
-
syntax error, unexpected 'ech...
-
phpでcookieがうまく保存されない
-
小数点以下0の非表示
-
バッチファイルで、全てのウィ...
-
ゼロとNULLを区別して number_f...
-
Windowsのsetコマンドでの小数...
-
オブジェクトの中身の判定(PHP)
-
DBのハッシュ化したパスワード...
-
XMLのタグの有無をPHPで判定し...
-
pdftkを使った処理をバッチファ...
-
batファイルでPC名称の変更
-
変数の中の<br>を消したい
-
csvの特定のキーワードを指定し...
-
bashの関数の引数にスペースが...
-
環境変数「%USERPROFILE%」の内...
おすすめ情報