2011-01-22 12 views
5

Moja tablica zbliża się tenJak przekonwertować obiekt na tablicę, aby uzyskać dane?

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 

kiedy piszę jak ten

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

ale mój problem jest w jaki sposób można uzyskać wartości tej tablicy wewnątrz obiektu.

proszę o pomoc. Thnx print_r ($ arrDt);

Odpowiedz

4

To jest po prostu normalny dostęp obiektu:

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

Ale to zależy od tego co chcesz zrobić. Proponuję zapoznać się z przykładami get_posts. Używają one setup_postdata do załadowania treści postu w bieżącym kontekście. Jeśli chcesz wyświetlić post, jest to prawdopodobnie najczystsze rozwiązanie.

+0

ohh mój Boże dziękuję Felix u rozwiązać mój problem thnx thnx – rajeshrt

+0

@user jeśli odpowiedź rozwiązuje swoje pytanie, zachęcamy do przyjmuję je zaznaczając kontur zielony znacznik wyboru obok tego. Jeśli istnieje wiele odpowiedzi, zaznacz tę, która była dla ciebie najbardziej pomocna i rozważ zachowanie innych odpowiedzi. – Gordon

3

To bardzo proste:

Masz tablicę Array ([0] => stdClass Object ([ID]

Ta tablica mieć jeden klucz, który może być zidentyfikowany przez „[0]” (ale może istnieć więcej kluczy)) dostęp do klucza :

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

Albo, jeśli chcesz przekonwertować obiekt do tablicy (jak $ wartość [ 'id'], na przykład), to po prostu musi to:

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); 
0

można użyć wp_get_recent_posts() zamiast get_posts(). Funkcja wp_get_recent_posts() zwraca normalną tablicę zamiast tablicy obiektów, a następnie za pomocą pętli foreach można uzyskać dostęp do dowolnej wartości tablicy.

1

W moim przypadku było to:

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; 
} 
Powiązane problemy