2015-04-15 21 views
2

我想將對象轉換爲數組,但數組鍵之前有對象類命名空間。PHP對象到沒有命名空間的數組

我正在創建一個框架,所以需要一個適用於任何對象的解決方案,即使我不知道名稱空間。

我的代碼:

$data = (array) $product; 
print_r($data); 

輸出:

[App\Model\Productid] = 20568 
[App\Model\Productcount] = 120 
[App\Model\Productname] = Samsung Galaxy S3 ... 
[App\Model\Productbrand] = Samsung 

我需要什麼:

[id] = 20568 
[count] = 120 
[name] = Samsung Galaxy S3 ... 
[brand] = Samsung 
+1

意志JSON工作:'$數據= json_decode(json_encode($產品),真);'如果沒有更好的對象描述,很難知道。 (當然,這不會下降「產品」,這可以通過json字符串上的str_replace來完成) – kainaw

+0

http://php.net/manual/en/reflectionclass.getshortname.php – giaour

+0

你如何從' Productid'到'ID'? – AbraCadaver

回答

1
$obj = new \ReflectionObject($product); 
print_R($obj->getName()); // get namespace and class name here 
+0

是的,我想要什麼,tnx – Milad