2013-03-21 87 views
1

我具有存儲在無功$category它具有以下性質的PHP對象獲取0(零)(轉儲與print_r()):從正確定義PHP對象屬性

jstandCategory Object 
(
    [category_id] => 1 
    [category_image] => 
    [category_parent_id] => 0 
    [category_publish] => 1 
    [category_ordertype] => 1 
    [category_template] => default 
    [category_ordering] => 1 
    [category_add_date] => 2013-03-18 22:10:45 
    [cars_page] => 6 
    [cars_row] => 1 
    [name_en-GB] => Used Cars 
    [alias_en-GB] => used-cars 
    [short_description_en-GB] => 
    [description_en-GB] => <table>... some html code ...</table> 
) 

然而,當我嘗試轉儲name_en-GB屬性使用print_r($category->name_en-GB);我得到0。我究竟做錯了什麼? name_en-GB以上的物業被轉儲得很好。

回答

2
- is an operator don't use it in variable names 
+0

是的,現在我知道這一點,謝謝! – 2013-03-21 23:50:16

4

PHP將其理解爲$category->name_en - GB(數學運算),一個NULL - NULL局面,這是0

最好不要在屬性名稱中使用hypens。如果您願意,可以使用下劃線或駝峯。

+0

明白了,謝謝,這很有幫助! – 2013-03-21 23:49:17

+0

太棒了!如果問題解決了,您可以接受答案。歡迎來到計算器btw :) – 2013-03-22 08:44:54

2

您正在使用的屬性名稱與一個無效的字符,你需要在大括號包的名稱將它識別

print_r($category->{'name_en-GB'}); 

如果你雖然改變了命名策略會更好

+0

我修好了,非常感謝! – 2013-03-21 23:49:48