我需要澄清PHP + mySQL中数据对象和数组之间的区别以及我认为相关的东西:表示"数组类型数据"与{ }
vs [ ]
我正在使用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
当我运行以下命令时:
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
?我需要学习什么来了解这里发生的事情?
答案 0 :(得分:0)
Koen Hoejimakers(和Mark Baker)在评论中正确回答了问题:
“第一个返回是一个json字符串,第二个是一个数组,echo对数组不起作用,但echo对一个json字符串有效,因为它是一个有效的字符串,在$ record上,做一个json_decode($记录,真实);,它现在将成为一个数组,就像你的第二次回归:) - Koen Hoeijmakers“
当SO让我在几天内时,我会将此标记为正确。