ホームページ >バックエンド開発 >PHPチュートリアル >「todo-items」のような不正な名前の PHP オブジェクト プロパティにアクセスするにはどうすればよいですか?

「todo-items」のような不正な名前の PHP オブジェクト プロパティにアクセスするにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-12-24 03:32:35573ブラウズ

How Can I Access PHP Object Properties with Illegal Names Like

PHP での不正な名前のプロパティへのアクセス

PHP 内で、ハイフン (-) を含む不正な名前のオブジェクト プロパティにアクセスすると、挑戦的になる可能性があります。次のシナリオを考えてみましょう:

問題:

API 呼び出しからオブジェクトを取得しましたが、その var_dump によって「todo-items」プロパティの存在が明らかになりました。を使用して直接アクセスすることはできません。 $object->todo-items.

解決策:

このようなプロパティにアクセスするには、いくつかの方法があります:

  1. プロパティ名カプセル化:

    PHP では、プロパティ名を中かっこでカプセル化し、直接アクセスできます。これは、不正な名前でも機能します:

    $object->{'todo-items'}
  2. 変数の割り当て:

    プロパティ名を変数に割り当て、その変数を使用してアクセスします。正方形内括弧:

    $todolist = 'todo-items';
    $object->$todolist
  3. 配列変換:

    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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。