※ hello という定数が無いという通知が出る環境では、error_reporting 関数で抑制できます ※ 結果が PHP の認識できる文字列であればいいので、"hello" . (10 * 4) もありです。 ※ PHP の可変変数 以下のコードは全て正しく動作しますが、最後の連想配列を除いて、変数名を可変で表現する可変変数のサンプルです。 PHP が変数として許している文字は制限がありますので、$2011/07/08 と言う変数はエラーになりますが、${'2011/07/08'} という変数は正しく動作します。JavaScript で var a = {}; a["2017/01/01"] = "001"; として、参照が a.2017/01/01 ができないのと同様で、JSON を PHP 内で変換して使う時にも意識するといいですつまり、日本語を変数として使いたい場合は、${'日本語表示'} という書き方で確実に使える事になります。 日本語は、その構成文字が「キャラクタセット」によって変わるので、どの文字が実際 PHP で変数として使えるかどうかは、はっきり言えませんが、実際使えるものもたくさんあります。しかし、確実では無いので${'日本語表示'}という表現は選択肢のうちの一つです。 また、PHP のマニュアルの投稿内容にありましたが、${文字 . "文字列"} という書き方が何故か正常に動作します。
<?php error_reporting(E_ALL ^ E_NOTICE); // $a に値をセット $a = 'hello'; // $a を変数名として利用 ${$a} = 'world (1)'; // world (1) が表示されます print $hello . "<br>"; // ★ もう少し複雑な場合(1) // $b[1] に値をセット $b[1] = 'hello'; // $b[1] を変数名として利用 ${$b[1]} = 'world (2)'; // world (2) が表示されます print $hello . "<br>"; // ★ もう少し複雑な場合(2) // $c に値をセット $c = 'hello2'; // $c を変数名として利用 ${$c}[1] = 'world (3)'; // world (3) が表示されます print $hello2[1] . "<br>"; // ★ 文字列の接続 ${hello . "X"} = 'world (4)'; // world (4) が表示されます print $helloX . "<br>"; // ★ エラーにならない特殊な変数 // ※ $2011/07/08 という変数は作れません $d = '2011/07/08'; ${$d} = 'world (5)'; // world (5) が表示されます print ${'2011/07/08'} . "<br>"; // ★ 日本語変数 // キャラクタセットによって、PHPが使える文字なら // $日本語表示 でもエラーにはなりません $e = '日本語表示'; ${$e} = 'world (6)'; // world (6) が表示されます print ${'日本語表示'} . "<br>"; ${'日本語表示'} .= " 追加OK"; print $$e . "<br>"; // ★ 連想配列による日本語表現 $f['日本語表示'] = 'world (7)'; // world (7) が表示されます print $f['日本語表示'] . "<br>"; ?>
|
【PHP + 特記事項の最新記事】
- PHP のファイルアップロードで画像ファイルを限定で行う為のテンプレートと注意事項と解説
- PHP : 指定ファイル名でダウンロード 『application/octet-stream』 と 『Content-disposition: attachment』
- PHP の関数で規定されているキャッシュコントロールの無効 : session_cache_limiter( 'nocache' )
- PHP : 一定時間前のファイルの削除
- cp932 の SQLServer に対して、PHP の ODBC 関数に対して UTF8 変換で地道に対応し、特殊なUncode文字は、HTML 数値エンティティで保存する。
- pChart2 に JKゴシックとラノベポップを使ってサンプルを作りました
- PHP の ImageMagick で作成した PNG 画像にオフセットが設定されてしまった場合の対応方法
- PHP : 連想配列を「オブジェクト」に変換(キャスト)するとうまく動きますが、通常配列では参照できないようです
- PHP でエラーが表示されない場合の ini_set( 'display_errors', "1" ) 使用時の注意事項
- 特に変更しても支障の無い error_append_string php.ini ディレクティブを使用して PHP 全体のデバッグに利用する
- PHP : 日本語を使った変数( 特殊文字列で変数 ) / 変数名を文字列として扱う
- PHPの真偽値
- PHP : include_path の設定
- PHP : 漢字スペースも trim