2017-01-24 2 views
0
Array 
(
    [0] => stdClass Object 
     (
      [question_id] => 19 
     ) 

    [1] => stdClass Object 
     (
      [question_id] => 20 
     ) 

) 

zuWie ändere ich das Format des Arrays in PHP?

Array 
(
    [0][question_id] => 19 
    [1][question_id] => 20 
) 
+0

Haben Sie ** ** Notwendigkeit der 'question_id' in das Endergebnis? – Nytrix

+0

Warum nicht zuerst gehen? Sagen Sie nicht nur, dass Sie nicht wissen, wie, warum nicht forschen? Die Verwendung von 'foreach()' wäre eine Möglichkeit, dieses Array neu aufzubauen. – halfer

+0

Wenn dieses Array von Objekten zufällig das Ergebnis 'json_decode' ist, können Sie es einfach als Arrays abrufen, um mit dem zweiten Argument zu beginnen, z. 'json_decode ($ json, true)'. –

Antwort

0

Einfache Lösung array_map Funktion:

$new_arr = array_map(function($o){ 
    return (array) $o; 
}, $arr);    // $arr is your initial array of objects 
1

Try this:

function objectToArray($array) { 
    if (is_object($array)) { 
    $array = get_object_vars($array); 
    } 
    return (is_array($array)) ? array_map(__FUNCTION__, $array) : $array; 
} 

Beispiel die Funktion zu verwenden:

$array = array(
    (object) array('question_id' => '19'), 
    (object) array('question_id' => '20'), 
); 

$result = objectToArray($array); 
print_r($result); 

Ausgang:

Array 
( 
    [0] => Array ([question_id] => 19) 
    [1] => Array ([question_id] => 20) 
) 

Zugriff auf Array-Elemente:

foreach ($result as $value) { 
    echo nl2br ($value['question_id']." \n "); 
} 

Ausgang:

19 
20 
Verwandte Themen