Pobieram post_id z postmeta jako:
$post_id = $wpdb->get_results("SELECT post_id FROM $wpdb->postmeta WHERE (meta_key = 'mfn-post-link1' AND meta_value = '". $from ."')");
kiedy próbuję print_r($post_id);
, mam taką tablicę:
Array
(
[0] => stdClass Object
(
[post_id] => 140
)
[1] => stdClass Object
(
[post_id] => 141
)
[2] => stdClass Object
(
[post_id] => 142
)
)
i nie wiem, jak to przejść, i jak mogę uzyskać taką tablicę
Array
(
[0] => 140
[1] => 141
[2] => 142
)
Masz jakiś pomysł, jak mogę to zrobić?
Odpowiedzi:
Najłatwiejszym sposobem jest zakodowanie obiektu w formacie JSON, a następnie dekodowanie go z powrotem do tablicy:
Jeśli wolisz, możesz też przejść przez obiekt ręcznie:
źródło
$array = json_decode($object,true)
?json_decode(json_encode($object), True)
zwrócił inną tablicę w porównaniu do pętli foreach. Pętla foreach zwraca tablicę w żądanym formacie OP.Bardzo proste, najpierw zamień swój obiekt w obiekt json, to zwróci ciąg twojego obiektu do reprezentanta JSON.
Weź ten wynik i zdekoduj z dodatkowym parametrem true, gdzie zostanie przekonwertowany na tablicę asocjacyjną
źródło
Spróbuj tego:
źródło
Możesz przekonwertować obiekt std na tablicę w następujący sposób:
źródło
W przypadku tablic jednowymiarowych:
W przypadku tablicy wielowymiarowej:
źródło
ARRAY_A jest argumentem „typ_wyjścia”. Może to być jedna z czterech predefiniowanych stałych (domyślnie OBJECT):
Zobacz: http://codex.wordpress.org/Class_Reference/wpdb
źródło
Podczas konwertowania obiektu klasy STD na array Cast obiektu do tablicy przy użyciu funkcji tablicowej php.
Wypróbuj z następującym fragmentem kodu.
źródło
Możesz spróbować tego:
źródło
Korzystanie z ArrayObject z Std lub tworzenie własnych
możesz użyć metody wbudowanej w nowej klasie:
lub przekaż nowy obiekt do
źródło
$existingStdClass
ma inną właściwość,stdClass
wówczas ta właściwość pozostaje stdClass w wynikowej tablicy. Jeśli potrzebujesz czegoś, co działa rekurencyjnie, wydaje się, że musisz użyć technik jsonZałóżmy, że $ post_id to tablica $ item
mocny tekst
źródło
jeśli masz tablicę i element tablicy to
stdClass
item, to jest rozwiązanie:teraz
stdClass
została zastąpiona tablicą wewnątrz tablicy jako nowy element tablicyźródło
Istnieją dwa proste sposoby konwersji obiektu stdClass na tablicę
a inny jest
lub możesz po prostu utworzyć tablicę za pomocą pętli foreach
źródło
Mam funkcję,
myOrderId($_GET['ID']);
która zwraca wielowymiarowy OBJ. jako ciąg .Żaden inny 1 liniowiec nie działał dla mnie.
Oba działały:
źródło