ホームページ 类库下载 PHP类库 PHPでのstdClassの使用状況分析

PHPでのstdClassの使用状況分析

Oct 20, 2016 pm 02:43 PM

この記事では、php での stdClass の使用法を例とともに分析します。皆さんの参考に共有してください。

具体的な分析は次のとおりです:

stdclass は、php で事前定義されたいくつかのクラスの 1 つであり、zent によって予約されているクラスです。実際、これは PHP によって提供される基本クラスであり、何も含まれていない空のクラスです。これをインスタンス化し、一連の変数を定義し、変数を渡すことができます (多くの PHP プログラマーは値を渡すためにこれを使用します。独自のクラスを作成する手間を省きながら、一連の変数を作成できます)。ただし、インスタンス化後にメソッドを追加することはできないため、プロパティのみを渡すことができます。クラスがインスタンス化されると、メソッドを追加できないためです。

stdclassは基底クラスとして利用でき、その最大の特徴は、定義時にメンバ変数を指定することなく、(その派生クラスが)自動的に追加できることです。

すべての php 変数は stdClass のインスタンスです。

使用方法:

1. stdclass を使用します:

$andy = array();
$andy = (object)$andy;
$andy->a = 1;
$andy->b = 2;
$andy->c = 3;
ログイン後にコピー

このようにして、数量 a、b、および c が stdclass に入力されます。空のオブジェクトを作成するには $andy = new Andy が必要であり、最初にクラス Andy{} が存在する必要があるため、これによりトラブルが軽減されます。別の例:

<?php
$a = new stdClass();
$a->id = &#39;11 &#39;;
$a->username = &#39;me&#39;;
print_r($a);
?>
ログイン後にコピー

は次のように出力します: stdClass Object ([id] => 11 [username] => me)。
多くの場合、このメソッドは、単なる別の構文である配列の使用を置き換えるために使用されます。

読んでください:

stdClass Object
(
  [getWeatherbyCityNameResult] => stdClass Object
    (
      [string] => Array
        (
          [0] => 四川
          [1] => 成都
          [2] => 56294
          [3] => 56294.jpg
          [4] => 2009-5-17 13:52:08
          [5] => 26℃/19℃
          [6] => 5月17日 阴转阵雨
        )
    )
)
ログイン後にコピー

実際、これは配列に似ていますが、アクセス方法が少し異なります。私たちは通常、配列にアクセスするために array['key'] を使用することに慣れています。
この種の stdClass の場合、上記の例のように、$weather->getWeatherbyCityNameResult->string[0] はこのようなプロパティにアクセスでき、結果は「四川省」になります。

3. インスタンス化、新規。

これら 2 つのコードを比較してください:

<?php  
$a = array(1=>2,2=>3);
$a = (object)$a;
$a->id = &#39;11 &#39;;
$a->username = &#39;me&#39;;
print_r($a);
?>
ログイン後にコピー

は次のように出力します: stdClass Object ( [1] => 2 [2] => 3 [id] => 11 [username] => me ) 。

<?php  
$a = array(1=>2,2=>3);
$a = (object)$a;
$a = new stdClass();
$a->id = &#39;11 &#39;;
$a->username = &#39;me&#39;;
print_r($a);
?>
ログイン後にコピー

は、stdClass Object ([id] => 11 [username] => me) を出力します。

new でインスタンス化した後、以前の配列はクリアされ、インスタンス化されなかった場合、stdClass はすべての要素を保持することがわかります。

関数内で global または static を使用し、新しい stdclass が参照される場合、&new stdclass は無効になることに注意してください。参照の使用を避け、新しい stdclass を直接使用する必要があります。

この記事が皆様の PHP プログラミング設計に役立つことを願っています。


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

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)