0

こんにちは、オブジェクトを含む std クラス オブジェクトがあります。それを配列としてキャストすると、最初のレベルだけが配列に変更されます。サブオブジェクトを配列としてもキャストする理由はありますか?

var_dump($heyo);

object(stdClass)#167 (27) { 
    ["uid"]=> object(stdClass)#166 (1) { 
        ["1"]=> int(15)

var_dump((array)($heyo));

array(27) { 
    ["uid"]=> object(stdClass)#166 (1) { 
        ["1"]=> int(15)
4

1 に答える 1

1

この関数はif-not-true-then-false.comで見つけました

function objectToArray($d) {
    if (is_object($d)) {
        // Gets the properties of the given object
        // with get_object_vars function
        $d = get_object_vars($d);
    }

    if (is_array($d)) {
        /*
        * Return array converted to object
        * Using __FUNCTION__ (Magic constant)
        * for recursive call
        */
        return array_map(__FUNCTION__, $d);
    }
    else {
        // Return array
        return $d;
    }
}

stdClass オブジェクトを再帰的に配列に変換します

于 2012-04-05T17:17:00.820 に答える