2017-01-03 4 views
0

Ich muss ein PHP-Array in ein PHP-Objekt zusammenführen.Merge ein PHP-Array in ein PHP-Objekt

Ich brauche meine PHP-Objekt wie folgt aussehen:

{"info1":"value","concurrents":[{"concurrent1":"value"},{"concurent2":"value"}],"info3":"value"}; 

, ich bin eigentlich meine erste Objekt wie folgt erhalten:

$initial = pg_fetch_object($result); 

Danach, erhalte ich das Array mit dieser Befehl:

$concurrents = pg_fetch_all($result); 

Also bitte, wie könnte ich $ concurrents INSIDE my $ anfänglichen Objekt verschmelzen, für schließlich den für das Ziel mit dem vorderen Ende der Ausführung:

print_r(json_encode($initial)); 

habe ich ein foreach versucht, aber es funktioniert nicht.

+0

das ist schön, aber was trägst du? Was hast du probiert? – Machavity

+0

Zeigen Sie '$ initial' und' $ concurrents' an. – AbraCadaver

+0

Ich hole SQL-Daten mit Postgre ... Ich möchte mein JSON-Objekt zu angularJs zurückgeben, es funktioniert sehr gut, außer dass ich dieses Array in mein JSON OBJECT aufnehmen muss, sein regulärer JSON funktioniert, außer dass ich nicht weiß, wie erzeuge es mit php back end – user7370387

Antwort

1

haben Sie folgende versucht?

$initial->concurrents = $concurrents; 

Oder auch:

$initial->concurrents = pg_fetch_all($result); 
0

Sie erhalten Ihr erstes Ergebnis nicht als ein Objekt, das als einen Array erhalten:

$initial = pg_fetch_assoc($result); 

Then ‚Verschmelzung‘ ziemlich einfach ist (drücken Sie den Anfang auf den Beginn Ihrer concurrents Array):

$concurrents = pg_fetch_all($result); 
array_unshift($concurrents, $initial); 

Jetzt können Sie sie drucken:

print_r(json_encode($concurrents)); 
+0

Vielen Dank Aber wird es ein Array drucken? Da die Front-End-angularjs ein Objekt benötigen, kein Array. In diesem speziellen Fall, vielen Dank für Ihre Antwort. – user7370387