Rumah  >  Soal Jawab  >  teks badan

php - Mengenai redis membaca dan menulis melarikan diri

Saya terlibat dengan redis dan perkara yang berkaitan kerana keperluan kerja adalah seperti berikut:
Sebahagian kod adalah seperti berikut
$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;
}

Ternyata terdapat garis miring melarikan diri sebelum setiap simbol

Berikut ialah hasil pulangan langsung saya $re

Maaf, mengapa ini berlaku? Bagaimana saya boleh mengelak daripada melarikan diri?

迷茫迷茫2689 hari yang lalu1486

membalas semua(2)saya akan balas

  • 漂亮男人

    漂亮男人2017-07-03 11:42:42

    Anda keluarkan dan json_decode 后在封装数据输出给前端。
    你这个转义,就是因为被 json_encode buat dua kali.

    Anda wujudRedis中的是JSON字符串了,你直接拿出来,放给数据里,又进行 json_encode sekali, jadi ini adalah perkara biasa.

    balas
    0
  • 淡淡烟草味

    淡淡烟草味2017-07-03 11:42:42

    Meloloskan diri ini adalah perkara biasa. Ini kerana json. JSON memerlukan petikan berganda untuk nilai utama "括起来的,值中包含双引号自然需要转义了。你 dd($change->datas) jadi tidak akan ada garis miring. Jika anda benar-benar tidak mahu melihat petikan berganda, anda boleh url_encode dahulu dan kemudian url_decode apabila menggunakannya, tetapi ia tidak perlu.

    balas
    0
  • Batalbalas