I have an array of this sort:
$array = [
        "Darren" => [
            "age" => "18",
            "work" => [
                "occupation" => "developer",
                "company" => "ABC Ltd"
            ]
        ],
        "John" => [
            "age" => "24",
            "work" => [
                "occupation" => "developer",
                "company" => "ABC Ltd",
                "url" => "www.example.com"
            ],
        ]
    ]
And would like to merge the keys with a dot in between, depending on the array's hierachy:
       "Darren.age"
       "Darren.work.occupation"
       "Darren.work.company"
       ...
The function that I made so far is
    public function buildExpressionKey($array, $parentKey = null){
        $expression = [];
        foreach($array as $key=>$value){
            if(is_array($value)){
               array_push($expression, $parentKey. implode(".", 
$this->buildExpressionKey($value, $key)));
           }else{
               array_push($expression, $key);
           }
       }
       return $expression;
   }
it is returning this value at the moment:
  [
    [0] => "age.Darrenoccupation.company"
    [1] => "age.Johnoccupation.company.url"
  ]
Was wondering if it is possible to make a function which automatically does merges the keys like that, thanks in advance :)