これは、連想配列云々では無く、プロパティ名が数字だと参照できないようです。( 0、a、2 という連想配列でテストしました ) PHP では、特別な文字列のプロパティ参照として、以下のような記述が可能です。 $z1->{'2011/07/08'} $z1->{'日本語表示'} ※ ついでなので、可変変数でオブジェクトのプロパティを参照してみました $v = '日本語表示'; print $z1->$v;
<? header( "Content-Type: text/plain; Charset=shift_jis" ); header( "pragma: no-cache" ); header( "Expires: Wed, 31 May 2000 14:59:58 GMT" ); header( "Cache-control: no-cache" ); // *********************************************** // 連想配列のテスト // *********************************************** $x['2011/07/08'] = 2; $x['next'] = '2011/07/15'; $x['日本語表示'] = 'ここは SHIFT_JIS です'; $z1 = (object)$x; print "\n"; print $z1->{'2011/07/08'} . "\n"; print "{$z1->next}\n"; print "{$z1->{'日本語表示'}}\n"; // 可変変数でオブジェクトのプロパティ $v = '日本語表示'; print $z1->$v ."\n"; print "\n"; var_dump($z1); // *********************************************** // 通常配列のテスト // *********************************************** $y[] = 2; $y[] = '2011/07/15'; $y[] = 'ここは SHIFT_JIS です'; $z2 = (object)$y; // 単独では表示されません?? print "\n"; print $z2->{0} . "\n"; print $z2->{'0'} . "\n"; print $z2->{"0"} . "\n"; $v = 0; print $z2->$v . "\n"; $v = "0"; print $z2->$v . "\n"; print "\n"; // 中には入っているようですが・・・ var_dump($z2); // *********************************************** // その他の変換( マニュアル通りです ) // *********************************************** $z3 = (object)'日本語表示'; print "\n"; print $z3->scalar . "\n"; print "\n"; var_dump($z3); ?>
2 2011/07/15 ここは SHIFT_JIS です ここは SHIFT_JIS です object(stdClass)#1 (3) { ["2011/07/08"]=> int(2) ["next"]=> string(10) "2011/07/15" ["日本語表示"]=> string(21) "ここは SHIFT_JIS です" } object(stdClass)#2 (3) { [0]=> int(2) [1]=> string(10) "2011/07/15" [2]=> string(21) "ここは SHIFT_JIS です" } 日本語表示 object(stdClass)#3 (1) { ["scalar"]=> string(10) "日本語表示" }最後に文字列を OBJECT に変換していますが、scalar と言うプロパティが作成されています。 ちなみに、説明の吹き出しは画像ですが、中の文字は普通の文字列で、PRE の枠の position を relative にして以下のようにして表示しています。全く表示されません
<img src="http://winofsql.jp/image/fd02.png" style='border:solid 0 #000;width:300px;position:absolute;left:220px;top:80px;box-shadow:none' /><div style='position:absolute;left:280px;top:160px;width:200px;font-size:20px;font-weight:bold'>全く表示されません</div>
|
【PHP + 特記事項の最新記事】
- PHP のファイルアップロードで画像ファイルを限定で行う為のテンプレートと注意事項と解説
- PHP : 指定ファイル名でダウンロード 『application/octet-stream』 と 『Content-disposition: attachment』
- PHP の関数で規定されているキャッシュコントロールの無効 : session_cache_limiter( 'nocache' )
- PHP : 一定時間前のファイルの削除
- PHP : ${'日本語表示'} という可変変数と、${hello . "X"} という連結可変変数
- cp932 の SQLServer に対して、PHP の ODBC 関数に対して UTF8 変換で地道に対応し、特殊なUncode文字は、HTML 数値エンティティで保存する。
- pChart2 に JKゴシックとラノベポップを使ってサンプルを作りました
- PHP の ImageMagick で作成した PNG 画像にオフセットが設定されてしまった場合の対応方法
- PHP でエラーが表示されない場合の ini_set( 'display_errors', "1" ) 使用時の注意事項
- 特に変更しても支障の無い error_append_string php.ini ディレクティブを使用して PHP 全体のデバッグに利用する
- PHP : 日本語を使った変数( 特殊文字列で変数 ) / 変数名を文字列として扱う
- PHPの真偽値
- PHP : include_path の設定
- PHP : 漢字スペースも trim