Мне нужно разъяснение относительно разницы между объектами данных и массивами в PHP + mySQL, и что-то, что я думаю, связано: представление данных типа массива с { }
vs [ ]
объект vs array, {} vs [], echo vs print_r
Я использую PHP, mySQL и RedBean ORM.
Я вытащил записи (строки таблицы) из таблицы, и хранить его в PHP в переменной с именем $record
Когда я запускаю следующую команду:
echo $record;
Я получаю следующий результат:
{"id":"1","name":"Frankie Johnnie & Luigo Too","address":"939 W El Camino Real, Mountain View, CA","lat":"37.386429","lng":"-122.085838","fee":"0.00"}
Далее, я вытащил имена столбцов из таблицы и хранить их в переменной с именем $fields
Когда я запускаю следующую команду:
echo $fields;
я получаю следующий результат:
Notice: Array to string conversion in /Applications/XAMPP/xamppfiles/htdocs/devserver/crud/show.php on line 18 Array
Whe п я выполнить следующую команду:
print_r($fields);
я получаю следующий результат:
Array ([id] => int(11) [name] => varchar(60) [address] => varchar(80) [lat] => float(10,6) [lng] => float(10,6) [fee] => decimal(5,2))
Почему echo
работу для первого, но print_r
необходимо для второго? Что мне нужно, чтобы научиться освещать то, что здесь происходит?
Возможный дубликат [В чем разница между эхом, печатью и печатью \ _r в PHP?] (Http://stackoverflow.com/questions/1647322/whats-the-difference-between-ech-print-and- print-r-in-php) –
$ record - объект json_encoded; $ fields - это массив –
, первый возврат - это строка json, вторая - массив, echo не работает над массивом, но echo делает в json-строке, так как его допустимая строка в $ record делает json_decode ($ record, true); теперь он будет массивом, как и ваш второй возврат :) – Neat