phpにおけるオブジェクト変換配列と配列変換オブジェクトインスタンス
6773 ワード
stdClassで配列をオブジェクトに変換する
Phpコード
stdClass変換後:
Phpコード
stdClassはPHPの1つのベースクラスで、すべてのクラスはほとんどこのクラスを継承しているので、いつでもnewされ、この変数をobjectにすることができます.同時に、この基類にはもう一つの特殊な場所があります.方法がありません.
私が適用した場所はsimplexmlのsimplexmlです.load_string()には、返されるのはすべてオブジェクトなので、データを抽出するのが面倒なので、次の関数を適用します.
配列をオブジェクトに変換
実行結果:
クラス:配列を直接オブジェクトに変換できるArrayObject
Phpコード
結果:
Phpコード
詳細については、http://www.111cn.net/phper/php-cy/41861.htmを参照してください.
Phpコード
$arr = array();
$arr['a'] = 1;
$arr['b'] = 2;
$arr['c'] = 3;
$arr = array();
$arr['a'] = 1;
$arr['b'] = 2;
$arr['c'] = 3;
stdClass変換後:
Phpコード
$object = new StdClass;
$object->a = 1;
$object->b = 2;
$object->c = 3;
$object = new StdClass;
$object->a = 1;
$object->b = 2;
$object->c = 3;
stdClassはPHPの1つのベースクラスで、すべてのクラスはほとんどこのクラスを継承しているので、いつでもnewされ、この変数をobjectにすることができます.同時に、この基類にはもう一つの特殊な場所があります.方法がありません.
私が適用した場所はsimplexmlのsimplexmlです.load_string()には、返されるのはすべてオブジェクトなので、データを抽出するのが面倒なので、次の関数を適用します.
function object_to_array($obj)
{
$_arr = is_object($obj) ? get_object_vars($obj) : $obj;
foreach ($_arr as $key => $val)
{
$val = (is_array($val) || is_object($val)) ? object_to_array($val) : $val;
$arr[$key] = $val;
}
return $arr;
}
配列をオブジェクトに変換
<?php
$array = array(1 => php,
2 => http://www.hzhuti.com/nokia/5233/,
3 => c );
$arrayobject = new ArrayObject($array);
var_dump($arrayobject);
?>
実行結果:
object(ArrayObject)#1 (1) { ["storage":"ArrayObject":private]=> array(3) { [1]=> string(3) "php" [2]=> string(4) "http://www.hzhuti.com/nokia/5233/" [3]=> string(3) "c " }}
クラス:配列を直接オブジェクトに変換できるArrayObject
Phpコード
$array = array('1' => 'one',
'2' => 'two',
'3' => 'three');
$arrayobject = new ArrayObject($array);
var_dump($arrayobject);
$array = array('1' => 'one',
'2' => 'two',
'3' => 'three');
$arrayobject = new ArrayObject($array);
var_dump($arrayobject);
結果:
Phpコード
object(ArrayObject)#1 (3) {
[1]=>
string(3) "one"
[2]=>
string(3) "two"
[3]=>
string(5) "three"
}
詳細については、http://www.111cn.net/phper/php-cy/41861.htmを参照してください.