因?yàn)楣ぷ餍枰?才接觸redis及相關(guān) 結(jié)果出現(xiàn)下面這種情況:
部分程式碼如下
$newsRedis = Redis::get('news_'.$id);
if ($newsRedis) return $newsRedis;
$re = NewNotice::select('community', 'title', 'created_at', 'content', 'initiator', 'img')->where('id', '=', $id)->get();
$change = NewNotice::where('id', '=', $id)->update([
'state' => '1'
]);
if (!$change) return 'NOTICE_ERROR';
// dd($change);
Redis::set('news_'.$id,$re);
Redis::expire('news_'.$id,10);
return $re;
}
結(jié)果發(fā)現(xiàn)結(jié)果每個(gè)符號(hào)前多了轉(zhuǎn)義斜線
#下面這個(gè)是我直接對(duì)return $re的結(jié)果
#請(qǐng)問(wèn)為何會(huì)出現(xiàn)這種情況呢? 如何才能不轉(zhuǎn)義呢
業(yè)精于勤,荒于嬉;行成于思,毀于隨。
你取出來(lái),先 json_decode
後在封裝資料輸出給前端。
你這個(gè)轉(zhuǎn)義,就是因?yàn)楸?json_encode
了兩次。
你存在Redis
中的是JSON
字串了,你直接拿出來(lái),放給資料裡,又進(jìn)行 json_encode
一次,所以出現(xiàn)這樣是正常的。
這個(gè)轉(zhuǎn)義是正常的。是json的原因,json要求鍵值都需要用雙引號(hào)"
括起來(lái)的,值中包含雙引號(hào)自然需要轉(zhuǎn)義了。你dd($change->datas)
就不會(huì)有斜槓了。