2015-04-15 84 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