気ままなDevLog

webとかプログラミングについての雑記帳

object2array

simplexml_load_stringで読み込んだXMLを配列に変換したくなった為作成

  public function object2array($object)
  {
    $object = (is_object($object)) ? get_object_vars($object) : $object;
    
    $array = array();
    foreach ($object as $key => $val)
    {
      if (is_object($val) === true || is_array($val) === true)
      {
        $array[$key] = $this->object2array($val);
      }
      else
      {
        $array[$key] = $val;
      }
    }
    return $array;
  }

ただ、このコードでは要素が単数だった場合に、複数ある場合より出来上がった配列の階層が1段下がってしまう問題がある。。。
ブラッシュアップする必要あり。