[英]Problem in use of json_encode?
我在数据库中插入带有json_encode()
的数据,现在我只想获取( select * from <table> ...
)仅数据库的name_unitsin
? 我要输出此-> salam & mokhles & fadat
以数据库行units
:
[{"name_units":"salam","price_units":"74,554","checkbox_units":["minibar","mobleman"]},
{"name_units":"mokhles","price_units":"4,851,269","checkbox_units":["mobleman","tv"]},
{"name_units":"fadat","price_units":"85,642","checkbox_units":["minibar","mobleman","tv"]}]
。
$query_hotel_search = $this->db->query("SELECT * FROM hotel_submits WHERE name LIKE '%$hotel_search%' ORDER BY name asc");
$data = array();
foreach ($query_hotel_search->result() as $row)
{
$units = json_decode($row->units);
$data[] = array('name' => $row->name, 'units' =>$units['name_units']); // Line 24
}
echo json_encode($data);
这是上面的代码输出:
遇到PHP错误
严重程度:注意
消息:未定义的索引:name_units
行号:24[{“ name”:“ Jack”,“ units”:null}]
从json_decode
获得的结果是stdClass
对象数组,而不是您期望的关联数组。 看来您在数据库的同一单元中有一个JSON字符串数组。
如果要输出,假设这就是数据库表的结构
萨拉姆和mokhles&fadat
然后试试这个:
foreach( $query_hotel_search->result() as $row ) {
$units = json_decode( $row->units );
$names = '';
foreach( $units as $unit ) {
$names .= "{$unit->name_units} & ";
}
}
echo substr( $names, 0, -2 );
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.