我正在使用 symfony2 和 createForm 来获取 http post 数据。在女巫之后我这样做:
$Data = (array) $form->getData();
我得到:
array (size=1)
'�Far\MT\AccountBundle\Entity\Movement�toAccount' => int 3
我认为这不是这些情况下的正常行为,有什么建议吗?
toAccount 应该是完整的索引名称。
无法重现 cli 测试用例中的条件:
<?php
namespace A;
class MyClass
{
public $id;
public $name;
public $age;
}
$object = new MyClass();
$object->name = "Andre";
$object->id = 1;
$object->age = 30;
var_dump($object);
$Ar = (array) $object;
var_dump($Ar)
以上工作正常。
我使用了这个解决方案:
//comment
$Data = $form->getData();
$obj = new \ReflectionObject($Data);
$props = $obj->getProperties();
$propname = array();
foreach ($props as $prop) {
$tmp = "get".ucfirst($prop->name);
if (($res = $Data->$tmp() )!== null) {
$propname[$prop->name] = $res;
}
}
$tmpSearch = $propname;
之后我会清理它。