當前位置:首頁 » 編程語言 » php數組對象

php數組對象

發布時間: 2022-01-14 19:31:06

php 如何將數組轉化成對象

這里定義2個php匿名對象和數組相互轉換的函數,代碼如下:

function array2object($array) {

if (is_array($array)) {$obj = new StdClass();foreach ($array as $key => $val){$obj->$key = $val;}}else { $obj = $array; }return $obj;}function object2array($object) {if (is_object($object)) {foreach ($object as $key => $value) {$array[$key] = $value;}}else {$array = $object;}return $array;}

用法示例如下:

$array = array('foo' => 'bar','one' => 'two','three' => 'four');$obj = array2object($array);print $obj->one; // output's "two"$arr = object2array($obj);print $arr['foo']; // output's bar

❷ php中數組能儲存對象嗎

可以的 舉個簡單的例子給你
<?php

class foo
{

function do_foo()
{
echo "Doing foo.";
}
}

$bar = new foo;

$arry1=array(1,$bar);//這里將實例化的對象存入數組

var_mp($arry1);//這里列印數組結構 你會發現下標1的位置存儲了一個object對象
$arry1[1]->do_foo();;//以數組形式 調用do_foo();
$bar->do_foo();//正常的調用do_foo()
//兩種方式輸出是一樣的 充分說明 數組是可以存儲對象的 希望對你的學習有幫助
?>

//下面是輸出 我自動換行分割了下 其實是一行
array(2) { [0]=> int(1) [1]=> object(foo)#1 (0) { } }
Doing foo.
Doing foo.

❸ php數組包含對象,對象包含數組怎麼調用

$d->_data[0]->id;
簡單點的話

$d=json_decode(json_encode($d),true);
$d['_data'][0]['id'];

❹ PHP數組裡面存放對象

樓上解釋正確,不過我補充一下。
既然初始化是在類聲明之後,那麼可以通過手動串列化和反串列化來達到目的。
保存的時候使用serialize來保存,提取恢復的時候使用unserialize來恢復。
當然,這個還有一個要注意的地方,需要保存的對象最好是只包含數據,意思是,不要有資料庫連接資源、文件資源之類的,如果包含這些,串列和反串列的結果都是一個int 0,反串列的時候可能不能正常工作。
至於對象串列反串列的一些可定製的功能,可以參考幫助文檔的這個部分:
http://dk2.php.net/manual/zh/language.oop.magic-functions.php
通過定義魔術函數__sleep __wakeup來實現。

❺ PHP中數組是不是對象

不是對象。而且不是真正意義上的數組。

❻ PHP中如何定義對象類型數組

應該是存到對象屬性中吧
你把
public function setDepartment($department)
{
$this->department=$department;
}
改成
public function setDepartment($department)
{
$this->department[]=$department;
}
即可
private $department;
要不要改成
private $department=array();
其實無所謂

❼ php中如何把數組里的值 轉換成一個對象

$array[$x]->shop();???

你說的我糊塗,什麼叫shop類型?shop 不是一個類么,$x 不就是 shop 的對象么

你的對象聲明也有錯誤 應該是 $x = new shop;//沒有後面的括弧
我猜你的意思是不是說 $array[$x] 如何轉換成 shop 的對象,是么?
你把對象放在數組的用意是什麼,換句話說,這個數組是干什麼用的?
你要知道 $array[$x] 是無法調用的。

❽ php中怎麼把對象從數組中取出來

我會說
$tmr = (object)$arr[i];
少了一個$符號么
$tmr = (object)$arr[$i];

php以為你的i是常量啊,而且你也沒定他的值,取都沒取出來

樓主不細心啊

❾ php的數組怎麼轉成對象

數組變數前面加(object),可以轉為對象。

❿ php中數組對象轉普通數組

/**
* 對象數組轉為普通數組
* 此函數支持多維數組處理。
*
* @param array
* @return array
*/
function objarray_to_array($obj) {
$ret = array();
foreach ($obj as $key => $value) {
if (gettype($value) == "array" || gettype($value) == "object"){
$ret[$key] = objarray_to_array($value);
}else{
$ret[$key] = $value;
}
}
return $ret;
}
你可以去後盾人平台看看,裡面的東西不錯

熱點內容
單片機android 發布:2024-09-20 09:07:24 瀏覽:760
如何提高三星a7安卓版本 發布:2024-09-20 08:42:35 瀏覽:661
如何更換伺服器網站 發布:2024-09-20 08:42:34 瀏覽:309
子彈演算法 發布:2024-09-20 08:41:55 瀏覽:286
手機版網易我的世界伺服器推薦 發布:2024-09-20 08:41:52 瀏覽:815
安卓x7怎麼邊打游戲邊看視頻 發布:2024-09-20 08:41:52 瀏覽:160
sql資料庫安全 發布:2024-09-20 08:31:32 瀏覽:91
蘋果連接id伺服器出錯是怎麼回事 發布:2024-09-20 08:01:07 瀏覽:505
編程鍵是什麼 發布:2024-09-20 07:52:47 瀏覽:655
學考密碼重置要求的證件是什麼 發布:2024-09-20 07:19:46 瀏覽:479