簡體   English   中英

使用json_encode時遇到問題?

[英]Problem in use of json_encode?

我在數據庫中插入帶有json_encode()的數據,現在我只想獲取( select * from <table> ... )僅數據庫的name_unitsin 我要輸出此-> salammokhlesfadat

以數據庫行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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM