php「物件,陣列」互相轉換
關於陣列轉換為物件,在phpx有看到一些帖子討論
$andy = array();
$andy['a'] = 1;
$andy['b'] = 2;
$andy['c'] = 3;
把andy強制轉換為陣列,似乎引用的方便些了,主要是變成了->
$andy = array();
$andy = (object)$andy;
$andy->a = 1;
$andy->b = 2;
$andy->c = 3;
還嫌它麻煩,再用stdclass
$andy = new stdclass;
$andy->a = 1;
$andy->b = 2;
$andy->c = 3;
stdclass是php的乙個基類,所有的類幾乎都繼承這個類,所以任何時候都可以被new,可以讓這個變數成為乙個object。同時,這個基類又有乙個特殊的地方,就是沒有方法。在這裡還有一點是物件和陣列資源耗費的問題:php5的物件的獨特性,物件在任何地方被呼叫,都是引用位址型的,所以相對消耗的資源會少一點。在其它頁面為它賦值時是直接修改,而不是引用乙個拷貝。陣列在程式的使用中應該是最方便的,然而陣列的每次被引用($a = $b),其實都是建立了乙個副本,而且,陣列被unset後,還是占用了記憶體(沒有測試過)。還有乙個函式arrayobject,可以直接將陣列轉化為物件這也是乙個好辦法哦。
arrayobject::__construct -- construct a new array object
<?php
$array
= array(
'1'
=>
'one'
,'2'
=>
'two'
,'3'
=>
'three'
);$arrayobject
= new
arrayobject
($array
);print_r($
arrayobject
);?>
arrayobject object( [1] => one
[2] => two
[3] => three
)
試驗了一下物件轉換為陣列,也可以強制轉換$arr = (array)$obj;
如下例子轉換結果,可對比:
tag object( [name] => main
[text] =>
[parrent] =>
[content] =>
[props] => array()
[inner] => array()
[level] => 0
)
array( [name] => main
[text] =>
[parrent] =>
[content] =>
[props] => array()
[inner] => array()
[level] => 0
)
jQuery物件與js物件互相轉換
兩種轉換方式將乙個jquery物件轉換成js物件 index 和.get index 1 jquery物件是乙個資料物件,可以通過 index 的方法,來得到相應的js物件。如 var v v jquery物件 var v v 0 js物件 alert v.checked 檢測這個checkbox是...
jQuery物件與js物件互相轉換
兩種轉換方式將乙個jquery物件轉換成js物件 index 和.get index 1 jquery物件是乙個資料物件,可以通過 index 的方法,來得到相應的js物件。如 var v v jquery物件 var v v 0 js物件 alert v.checked 檢測這個checkbox是...
jquery 與 dom 物件 互相轉換
jquery物件轉成dom物件 兩種轉換方式將乙個jquery物件轉換成dom物件 index 和.get index 1 jquery物件是乙個資料物件,可以通過 index 的方法,來得到相應的dom物件。如 var v v jquery物件 var v v 0 dom物件 alert v.ch...