본문 바로가기

dev

[JS] Object To Array

반응형

자바스크립트 작업중.. 데이터 타입에 혼돈이 올때가 있다. 그 중 하나는 바로 object 와 Array
예상했던 데이터 타입이 Array 로 여겨졌는데 실상 object 인 경우가 있더라.. 다음과 같이 형 변환을 해주면 된다.

var a;
if ( b instanceof Array) {
   b = a;
} else {
   a = new Array;
   a.push(b);
}

instanceof 연산자는 object 가 class의 인스턴스이면 true 를 반환, object가 지정된 클래스의 인스턴스가 아니거나 object가 null이면 false를 반환한다.

* instanceof (w3resource / mozilla)


더불어 PHP 에서 object 와 Array 의 변환 function

/* function : Array -> object    */
function parseArrayToObject($arrary) {
$object = new stdClass();
    if (is_array($array) && count($array) > 0) {
        foreach ($array as $name=>$value) {
            $name = strtolower(trim($name));
            if (!empty($name)) {
                $object->$name = $value;
            }
        }
    }
    return $object;
}

/* function : object -> Array    */
function parseObjectToArray($object) {
    $array = array();
    if (is_object($object)) {
        $array = get_object_vars($object);
    }
    return $array;
}

/* convert Array $a -> object $o */
$a = array(
'i0' => 'v0',
'i1' => 'v1',
'i2' => 'v2'
);
$o - parseArrayToObject($a);

echo $o->i2; // 결과 : v2

/* convert object $o -> Array $a */
$o = new stdClass();
$o->i0 = 'v0';
$o->i1 = 'v1';
$o->i2 = 'v2';

$a = parseObjectToArray($o);

echo $a['i2']; // 결과 : v2

PHP 에서는 get_object_vars 를 통해서 object 를 Array 로 간단히 변환 가능하다.





반응형