ホームページ > バックエンド開発 > PHPチュートリアル > 【print_rのおかしな現象について】

【print_rのおかしな現象について】

WBOY
リリース: 2016-06-13 13:43:09
オリジナル
1092 人が閲覧しました

[print_rに関する奇妙な現象]
class ColumnVo extends Vo{
public $column_id;
public $column_name = array('label'=>'列名','value'=>' 笑');
.................


}

------------- -- ----------------------------
if($property=='column_name'){
print_r($ this ->$property['value']);
echo '
';
echo 'フォーム値は: '.$value.'
';
$this->$property['value'] = $value;
print_r($this->$property['value']);
echo
';
print_r($this->$property);
}
------出力----------- - ---------
未定義のプロパティ: ColumnVoMysql エラー
フォーム値: cccccccc
cccccccc
配列 ( [ラベル] => 列名 [値] ='haha' > ;)
------------------------------------------ -
出力の 2 行目は、値が割り当てられたことを示しています。 ただし、配列を出力する場合は、VO の元の値のみが出力されます。 [type] => string これは、VO の元のハードコーディングされた値です。

要約: print_r は読み込みが少し遅く、私は print_r にひどく悩まされました。

-----解決策--------------------------------
ガンマのあいまいさが原因です


これを
$this->{$property}['value']

$this->{ に変更できます。 $property}['value'] = $value ;

……
print_r……

------解決策---------
従来の方法を使用する方が良いでしょう。属性を直接変更しないでください。マジックまたはカスタマイズされた get および set メソッドを使用することをお勧めします。それは多くの問題を回避します。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート