Meine Frage ist eine Variation der folgenden post here hinzugefügt JSON-Logik. Ich benutze PHP 5.6.22Objekt ohne Klasse: Hinzufügen neuer Felder und Rückgabe als JSON
Ich muss eine Klasse ohne ein Objekt in Runtim erstellen, um ein JSON-Objekt des gleichen Typs zu erstellen, um an den Client zurückgegeben werden. Mein Code:
public static function getData()
{
$columns = array ("Name", "Address", "Age");
$values = array ("John", "A Ave 222", 32);
$ret = (object)[];
$index = 0;
foreach ($columns as $col)
{
$value = $values[$index++];
$ret[] = (object) [$col => $value]; // Error here
}
return json_encode($ret);
}
Beim Laufen, dass ich die folgende Fehlermeldung erhalten:
<b>Fatal error</b>: Cannot use object of type stdClass as array in <source filename> on line <linenumber>
Hilfe appreaciated, dass zu lösen ...
'$ ret = (Objekt) [];' bedeutet '$ ret' ist eine Instanz von' stdClass' (obwohl Gott weiß, warum Sie das überhaupt tun), später verwenden Sie '$ ret [] =' was Sie nicht tun können, weil '$ ret' ein Objekt und kein Array ist. –
1. Verwenden Sie PHP7? 2. Meinst du ein Objekt ohne Klasse? – guessimtoolate
Übrigens, Funktion heißt json_encode – splash58