ホームページ > バックエンド開発 > PHPチュートリアル > ObjMap を使用して多次元配列を Object_PHP に変換するチュートリアル

ObjMap を使用して多次元配列を Object_PHP に変換するチュートリアル

WBOY
リリース: 2016-07-13 17:35:42
オリジナル
1028 人が閲覧しました

誰もが stdClass クラスを知っている必要があります。
これは PHP5 の基本クラスと見なすことができ、配列と同様の呼び出しメソッドを提供します
明示的なメソッドを通じて配列を stdClass に変換し、オブジェクトを使用してアクセスできます
PHP コンテンツをクリップボードにコピーします
PHP コード:
$a = new stdClass();
$a->b = 1;
echp $a->b; // 出力: 1
// arr->b; obj
$arr = array(a,b);
$obj = (オブジェクト)$arr;


配列を使用しないのはなぜですか? PHP では配列を使用するほうが便利ではないでしょうか?
1. オブジェクト呼び出しメソッドを使用するのが便利でスムーズです
2. 配列は COPY 値です。参照
3. いくつかの特別な関数を実装できます (グローバル静的変数、これについては後で説明します)

しかし、多次元配列についてはどうすればよいでしょうか?
次のクラスはそのようなメソッドを実装します。
どこで使用できるかについては、
PHP コンテンツをクリップボードにコピーする
PHP コードを使用できます。 :
$ data = array(a1=>array(b1=>b1value,b2=>b2value,b3=>b3value));
$data = new map($data);
// OBJ 値
echo $ data->a1->b1; // 出力: b1value
// OBJ 割り当て
$data->a1->b2 = newb2value;
echo
.$data->a1- > b2; //出力: newb2value
// ARRAY 値
echo
.$data[a1][b3]; //出力: b3value
// 出力: b1=>b1value b2 =>newb2value b3=>b3value
foreach($data->a1 as $key=>$val){
echo
.$key.=>.$val;
}

クラスマップ
PHPコンテンツをクリップボードにコピーします
PHPコード:
クラスマップ extends ArrayObject{

// 配列オブジェクト要素を取得します
public function __construct(array $array = array()){
foreach ($array as &$値){
$this->offset を返します。 Get($index);
}

return $this->offsetSet($index, $value);
}


パブリック関数 __unset($ Index){
$this->offsetUnset($index);
}

// 配列型に変換
public function toArray(){
$array = $this->getArrayCopy() ;
public Function __tostring ( ) {
Return var_export ($ this-& gt; toarray (), true)}
// パブリック関数 put ($ Index, $ Value) {
f array ($ value) && $ value = new self($value) ;
$this->offsetSet($index, $value);
}

// インデックスに基づいて値を取得します
public function get($index){
return $this->offsetGet($index); ;
}

}


www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/508295.html技術記事 PHP5 の基本クラスとみなされる stdClass クラスは、明示的なメソッドを通じて配列を stdClass に変換できる、配列に似た呼び出しメソッドを提供します。

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