Ich hole post_id von postmeta als:
$post_id = $wpdb->get_results("SELECT post_id FROM $wpdb->postmeta WHERE (meta_key = 'mfn-post-link1' AND meta_value = '". $from ."')");
Wenn ich es versuche, habe print_r($post_id);
ich ein Array wie dieses:
Array
(
[0] => stdClass Object
(
[post_id] => 140
)
[1] => stdClass Object
(
[post_id] => 141
)
[2] => stdClass Object
(
[post_id] => 142
)
)
und ich weiß nicht, wie ich es durchqueren soll und wie ich ein Array wie dieses bekommen könnte
Array
(
[0] => 140
[1] => 141
[2] => 142
)
Irgendeine Idee, wie ich das machen kann?
Antworten:
Am einfachsten ist es, Ihr Objekt per JSON zu codieren und dann wieder in ein Array zu decodieren:
Wenn Sie möchten, können Sie das Objekt auch manuell durchlaufen:
quelle
$array = json_decode($object,true)
?json_decode(json_encode($object), True)
ein anderes Array als die foreach-Schleife. Die foreach-Schleife gibt das Array in dem gewünschten Format OP zurück.Ganz einfach: Verwandeln Sie Ihr Objekt zuerst in ein JSON-Objekt. Dadurch wird eine Zeichenfolge Ihres Objekts an einen JSON-Vertreter zurückgegeben.
Nehmen Sie dieses Ergebnis und dekodieren Sie es mit einem zusätzlichen Parameter von true, wo es in ein assoziatives Array konvertiert wird
quelle
Versuche dies:
quelle
Sie können ein Standardobjekt wie folgt in ein Array konvertieren:
quelle
Für eindimensionale Arrays:
Für mehrdimensionales Array:
quelle
ARRAY_A ist ein Argument "output_type". Es kann eine von vier vordefinierten Konstanten sein (standardmäßig OBJECT):
Siehe: http://codex.wordpress.org/Class_Reference/wpdb
quelle
Beim Konvertieren eines STD-Klassenobjekts in ein Array. Übertragen Sie das Objekt mithilfe der Array- Funktion von PHP in ein Array .
Probieren Sie es mit folgendem Code-Snippet aus.
quelle
Sie können dies versuchen:
quelle
Verwenden Sie das ArrayObject von Std oder erstellen Sie Ihr eigenes
Sie können die eingebaute Methode für die neue Klasse verwenden:
oder übergeben Sie das neue Objekt an
quelle
$existingStdClass
eine Eigenschaft eine anderestdClass
ist, bleibt diese Eigenschaft eine stdClass im resultierenden Array. Wenn Sie etwas benötigen, das rekursiv funktioniert, müssen Sie anscheinend die JSON-Techniken verwendenNehmen wir an, $ post_id ist ein Array von $ item
starker Text
quelle
Wenn Sie ein Array haben und das Array-Element ein Element ist
stdClass
, ist dies die Lösung:Jetzt wurde das
stdClass
durch ein Array innerhalb des Arrays als neues Array-Element ersetztquelle
Es gibt zwei einfache Möglichkeiten, das stdClass-Objekt in ein Array zu konvertieren
und andere ist
oder Sie können einfach ein Array mit foreach loop erstellen
quelle
Ich habe eine Funktion,
myOrderId($_GET['ID']);
die mehrdimensionales OBJ zurückgibt. als String .Keiner der anderen 1 Liner hat für mich gewirkt.
Dies funktionierte beide:
quelle