台灣最大程式設計社群網站
線上人數
690
 
會員總數:244894
討論主題:188887
歡迎您免費加入會員
討論區列表 >> PHP >> 印出object值問題
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
印出object值問題
價值 : 10 QP  點閱數:180 回應數:4

樓主

登仔
初學者
10 21
430 30
發送站內信

請問要印出id,但有錯誤,請問是哪裡出錯?


搜尋相關Tags的文章: [ php ] , [ object ] ,
本篇文章發表於2019-03-20 16:32
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
1樓
最有價值解答

浩瀚星空
捐贈 VP 給 浩瀚星空 檢舉此回應
跟你上一個問題一樣。

你又將array當object指向應用處理了。

你如果搞不太清楚object跟array的特性。就不要去混著用。
因為我看你真的分不清楚這之間的情況。

你可以將你的$obj變數先用var_dump來看一下你的變數內的所有類型的狀態為如何
當你用
$ary = $obj->list;

其$ary因為你是用[] = array 的給值方式。它是算array的類型了。
自然不能將其當物件的指向使用。也就無法支援 $ary[$i]->id 這樣的用法
你只能用array的用法。$ary[$i]['id']

題外話再告訴你好了。
正常來說,除非是class應用的處理。才會搭配object變數應用處理
一般來說,很少將變數直接宣告為object。
因為很麻煩又容易跟class給搞混。

如果你真的想直接學指向式應用的話。我會建議你直接看class導向應用處理。
本篇文章回覆於2019-03-20 17:01
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
作者回應

登仔
檢舉此回應
謝謝提醒,真的是搞不太清楚
版主,有提到
"一般來說,很少將變數直接宣告為object。
因為很麻煩又容易跟class給搞混。"
請問你會用什麼方式宣告?
本篇文章回覆於2019-03-21 08:28
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
回應

浩瀚星空
捐贈 VP 給 浩瀚星空 檢舉此回應
我並不會直接將變數宣告為object來用。
畢竟一般會將變數做為object使用的情況。有時是為了增加一些函數其方式來處理。
認真來說,object變數類型的用法,大多數來說都是應用在class上居多。

且object變數的指向操作其最大的用處為方式呼叫方便才會這樣使用。
如果只是單純存值的情況。直接用array就好,實在也沒那個必要用object處理。

重點還是看你的需求啦。
認真來說,如果你真要用object的取值處理方式。
那你給值的方式也是得要用指向式處理才行的。


$obj = (object)[]
$obj->id = 1
$id = $obj->id
多重式的就
$obj = (object)[];
$obj->list = (object) ['id'=>1];

從上面的程式來看,用(object)的方式來寫給值式的應用。是一個很麻煩的事。
倒不如直接用array還比較容易寫。

當然,你如果真的非得要用object
你可以先用array將變數處理好後。
最後再來一個
$obj = (object) $array;

這樣其$obj就會變成object了。只是.....有其必要嘛??
本篇文章回覆於2019-03-21 13:40
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
作者回應

登仔
檢舉此回應
說的也是...寫出來結果一樣就好
太鑽牛角尖了...
謝謝喔!
本篇文章回覆於2019-03-21 14:47
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.