我需要澄清一下 PHP+mySQL 中数据对象和数组之间的区别,以及我认为相关的东西:用 { }
与 [ ]< 表示“数组类型数据”/
我正在使用 PHP、mySQL 和 RedBean ORM。
<小时/>我从表中取出一条记录(表行),并将其存储在 PHP 中名为 $record
的变量中
当我运行以下命令时:
echo $record;
我得到以下输出:
{"id":"1","name":"Frankie Johnnie & Luigo Too","address":"939 W El Camino Real, 山景城, CA","lat":"37.386429 ","lng":"-122.085838","费用":"0.00"}
接下来,我从表中提取列名并将其存储在名为 $fields
的变量中
当我运行以下命令时:
echo $fields;
我得到以下输出:
注意:第 18 行/Applications/XAMPP/xamppfiles/htdocs/devserver/crud/show.php 中的数组到字符串转换
数组
当我运行以下命令时:
print_r($fields);
我得到以下输出:
数组 ( [id] => int(11) [名称] => varchar(60) [地址] => varchar(80) [lat] => float(10,6) [lng] = > float(10,6) [费用] => 小数(5,2) )
为什么echo
适用于第一个,但第二个需要print_r
?我需要学习什么才能重温这里发生的事情?
最佳答案
Koen Hoejimakers(和 Mark Baker)在评论中正确回答了问题:
“第一个返回是一个json字符串,第二个是一个数组,echo对数组不起作用,但echo对json字符串起作用,因为它是一个有效的字符串,在$record上,执行 json_decode($ record,true);,它现在将是一个数组,就像您的第二次返回一样:) – Koen Hoeijmakers"
当 SO 几天后允许我时,我会将其标记为正确。
关于php - 对象与数组、{ } 与 [ ]、echo 与 print_r,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28972199/