Wie konvertiere ich ein Objekt in ein Array, um die Daten zu erhalten?

Lesezeit: 3 Minuten

Benutzer-Avatar
rajeshrt

Mein Array kommt so

Array ( [0] => stdClass Object ( [ID] => 578 [post_author] => 1 [post_date] => 2011-01-18 07:23:17 [post_date_gmt] => 2011-01-18 07:23:17 [post_content] => Home WordPress is web software you can use to create a beautiful website or blog. We like to say that WordPress is both free and priceless at the same time. The core software is built by hundreds of community volunteers, and when you’re ready for more there are thousands of plugins and themes available to transform your site into almost anything you can imagine. Over 25 million people have chosen WordPress to power the place on the web they call “home” — we’d love you to join the family [post_title] => second post [post_excerpt] => [post_status] => publish [comment_status] => open

wenn ich so schreibe

$myposts = get_posts( $args );
$arrDt = (array) $myposts;
print_r($arrDt);

Aber mein Problem ist, wie ich die Werte in diesem Objektarray abrufen kann.

bitte helfen. Thnx print_r($arrDt);

Benutzer-Avatar
Felix Klinge

Es ist nur ein normaler Objektzugriff:

$obj = $arrDt[0];
echo $obj->ID;
echo $obj->post_author;
// etc.

Aber es hängt davon ab, was Sie tun möchten. Ich schlage vor, einen Blick auf die zu werfen get_posts Beispiele. Sie benutzen setup_postdata um den Beitragsinhalt im aktuellen Kontext zu laden. Wenn Sie den Beitrag anzeigen möchten, ist dies wahrscheinlich die sauberere Lösung.

  • @user Wenn eine Antwort Ihre Frage löst, werden Sie aufgefordert, sie zu akzeptieren, indem Sie das grüne Häkchen daneben ankreuzen. Wenn es mehrere Antworten gibt, kreuzen Sie diejenige an, die für Sie am hilfreichsten war, und erwägen Sie, alle anderen Antworten positiv zu bewerten.

    – Gordon

    22. Januar 2011 um 12:38 Uhr

Es ist sehr einfach:

Sie haben ein Array Array ( [0] => stdClass Object ( [ID]

Dieses Array hat einen SCHLÜSSEL, der durch das “[0]” (es können aber mehr Schlüssel vorhanden sein)) Zugriff auf den Schlüssel:

foreach ( $arrDt as $value ): //Look, whe are inside the first key. (currently is '0').
   echo $value->ID;
   echo $value->post_author;
endforeach;

Oder wenn Sie ein Objekt in ein Array konvertieren möchten (wie $value[‘ID’]zum Beispiel ), brauchen Sie nur dies:

    function objectToArray($obj)
    {
         if (is_object($obj)):
             $object = get_object_vars($obj); 
         endif;

         return array_map('objectToArray', $object); // return the object, converted in array.
    }

$objArray = objectToArray($arrDt);
print_r($objArray);

In meinem Fall war es:

foreach ($returnedObject as $row) {
    $sub_array = '';
    $sub_array['ID'] = $row->data->ID;
    $sub_array['user_login'] = $row->data->user_login;
    $sub_array['display_name'] = $row->data->display_name;
    $sub_array['user_email'] = $row->data->user_email;
    $sub_array['user_registered'] = $row->data->user_registered;
    $main_array[] = $sub_array;
}

Sie können verwenden wp_get_recent_posts() Anstatt von get_posts(). Das wp_get_recent_posts() Die Funktion gibt ein normales Array anstelle eines Objekt-Arrays zurück, dann können Sie mit der foreach-Schleife auf jeden Wert eines Arrays zugreifen.

1360150cookie-checkWie konvertiere ich ein Objekt in ein Array, um die Daten zu erhalten?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy