ホームページ >バックエンド開発 >PHPチュートリアル >「todo-items」のような不正な名前の PHP オブジェクト プロパティにアクセスするにはどうすればよいですか?
PHP での不正な名前のプロパティへのアクセス
PHP 内で、ハイフン (-) を含む不正な名前のオブジェクト プロパティにアクセスすると、挑戦的になる可能性があります。次のシナリオを考えてみましょう:
問題:
API 呼び出しからオブジェクトを取得しましたが、その var_dump によって「todo-items」プロパティの存在が明らかになりました。を使用して直接アクセスすることはできません。 $object->todo-items.
解決策:
このようなプロパティにアクセスするには、いくつかの方法があります:
プロパティ名カプセル化:
PHP では、プロパティ名を中かっこでカプセル化し、直接アクセスできます。これは、不正な名前でも機能します:
$object->{'todo-items'}
変数の割り当て:
プロパティ名を変数に割り当て、その変数を使用してアクセスします。正方形内括弧:
$todolist = 'todo-items'; $object->$todolist
配列変換:
Zend_Config で採用されているような手法を使用してオブジェクトを配列に変換します:
public function toArray() { $array = array(); foreach ($this->_data as $key => $value) { if ($value instanceof StdClass) { $array[$key] = $value->toArray(); } else { $array[$key] = $value; } } return $array; }
以上が「todo-items」のような不正な名前の PHP オブジェクト プロパティにアクセスするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。