将嵌套数组转换为Doctrine查询的字符串数组

时间:2015-08-14 09:10:57

标签: php symfony doctrine-orm doctrine-query

什么是将以下嵌套数组转换为简单数组的最简单方法

array(
    'user' => array(
         'firstName' => 'Test',
         'lastName' => 'Test'
    ),
    'title' => 'Test'
)

array(
    'user.firstName' => 'Test',
    'user.lastName' => 'Test',
    'title' => 'Test'
)

我需要这种格式用于doctrine查询where语句。

1 个答案:

答案 0 :(得分:2)

试试这个

$arr=array(
    'user' => array(
         'firstName' => 'Test',
         'lastName' => 'Test'
    ),
    'title' => 'Test'
);
$bigArr=array();
foreach($arr as $arK=>$arV){
    if(is_array($arr[$arK])){
        foreach($arr[$arK] as $k=>$v){
            $bigArr[$arK.".".$k]=$v;
        }
    }
    else{
        $bigArr[$arK]=$arV;
    }
}
var_dump($bigArr);

输出: -

array (size=3)
  'user.firstName' => string 'Test' (length=4)
  'user.lastName' => string 'Test' (length=4)
  'title' => string 'Test' (length=4)