SQLの窓

2017年04月11日


PHP : ${'日本語表示'} という可変変数と、${hello . "X"} という連結可変変数

※ 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 + 特記事項の最新記事】
posted by lightbox at 2017-04-11 15:22 | PHP + 特記事項 | このブログの読者になる | 更新情報をチェックする
container 終わり



フリーフォントで簡単ロゴ作成
フリーフォントでボタン素材作成
フリーフォントで吹き出し画像作成
フリーフォントではんこ画像作成
ほぼ自由に利用できるフリーフォント
フリーフォントの書体見本とサンプル
画像を大きく見る為のウインドウを開くボタンの作成

CSS ドロップシャドウの参考デモ
イラストAC
ぱくたそ
写真素材 足成
フリーフォント一覧
utf8 文字ツール
右サイド 終わり
base 終わり