導航:首頁 > 編程語言 > php把數組變成對象

php把數組變成對象

發布時間:2023-02-11 09:35:35

php數組裡面存放對象

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

⑵ php生成數組轉成json後,在轉化為對象

你可以參考一下我的建議,1.普通:若php關聯數組不含有中文,直接json_encode轉換。轉換之後用json_deconde($stuJson)轉為php對象。
<?php
$stu = array("name"=>"li","age"=>"35");
$stuJson = json_encode($stu);
還有什麼疑問的話,可以多去後盾們看一下相關的視頻,這樣你更清楚

⑶ 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 數組元素是對象類型問題

寫得略有點問題,我改了改:
class A {
private $age;
public function __construct($age){
$this->age=$age;
}
public function getAge(){
return $this->age;
}
}
$a1=new A(12);
$arr=array($a1);
printf($arr[0]->getAge());
運行成功記得採納,謝謝!

⑹ thinkphp5.0 對象結果集轉為數組之後怎麼再轉回為對象集

/**
* [std_class_object_to_array 將對象轉成數組]
* @param [stdclass] $stdclassobject [對象]
* @return [array] [數組]
*/
function std_class_object_to_array($stdclassobject)
{
$_array = is_object($stdclassobject) ? get_object_vars($stdclassobject) : $stdclassobject;

foreach ($_array as $key => $value) {
$value = (is_array($value) || is_object($value)) ? std_class_object_to_array($value) : $value;
$array[$key] = $value;
}

return $array;
}

⑺ 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中如何將數組轉化成對象

這里定義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怎麼將數組數組轉化為json格式的數據

一、json_encode()

[php]view plain

⑽ PHP數組轉為對象怎麼處理

按照你的要求編寫的php程序如下

<?php

$s='{"data":["阿里:65","支付寶:2","微信:1"]}';

$obj=json_decode($s,true);

$arr=$obj['data'];

$c=array();

for($i=0;$i<count($arr);$i++){

$b=array();

$a=explode(':',$arr[$i]);

$b[$a[0]]=$a[1];

$c[$i]=$b;

}

$result['data']=$c;

echo json_encode($result,JSON_UNESCAPED_UNICODE);

?>

閱讀全文

與php把數組變成對象相關的資料

熱點內容
jquery基礎pdf 瀏覽:523
kr幣伺服器在什麼地方 瀏覽:656
安卓手機自己會震動是怎麼回事 瀏覽:192
網盤裡面加密壓縮文件怎麼打開 瀏覽:305
編譯中斷是為什麼 瀏覽:169
跨行程序員的思路 瀏覽:608
我的世界速建伺服器地址18 瀏覽:826
怎樣做文獻綜述pdf 瀏覽:555
phpjs倒計時 瀏覽:230
對啊app怎麼樣 瀏覽:74
100個桃子演算法 瀏覽:246
電腦文件jpg加密怎麼解除 瀏覽:328
mapjava用法 瀏覽:118
全職程序員辭職 瀏覽:960
程序員那麼可愛29集泄露版 瀏覽:204
中位數java 瀏覽:688
酒店預定app哪個好 瀏覽:263
劍網三商城文件夾 瀏覽:829
地基與基礎pdf 瀏覽:923
方舟編譯器運行游戲 瀏覽:142