$array = array( 'code_pattern' => '\d{6}');//okprint_r(json_decode(json_encode($array),true));//errorprint_r(json_decode('{"code_pattern":"\\d{6}"}',true));
這個問題怎麼解決?
補充:
$array = array( 'code_pattern' => '\d{6}');$arr_str = json_encode($array);echo $arr_str . "\n";//okprint_r(json_decode($arr_str,true));//error$arr_dec = json_decode('{"code_pattern":"\\d{6}"}',true);var_dump($arr_dec);
結果:
.{"code_pattern":"\\d{6}"}Array( [code_pattern] => \d{6})NULLTime: 102 ms, Memory: 7.25Mb
回複內容:
$array = array( 'code_pattern' => '\d{6}');//okprint_r(json_decode(json_encode($array),true));//errorprint_r(json_decode('{"code_pattern":"\\d{6}"}',true));
這個問題怎麼解決?
補充:
$array = array( 'code_pattern' => '\d{6}');$arr_str = json_encode($array);echo $arr_str . "\n";//okprint_r(json_decode($arr_str,true));//error$arr_dec = json_decode('{"code_pattern":"\\d{6}"}',true);var_dump($arr_dec);
結果:
.{"code_pattern":"\\d{6}"}Array( [code_pattern] => \d{6})NULLTime: 102 ms, Memory: 7.25Mb
你輸出一下json_encode($array)的值就知道為什麼了。
測試了一下,json_encode($arry)會輸出{"code_pattern":"\\d{6}"},它將\進行了轉義。但是你需要使用json_decode('{"code_pattern":"\\\\d{6}"}')才能得到想要的結果\d{6}。
題外話:SF怎麼不支援markdown刪除線的文法呢?我在編輯答案的時候是可以看到效果的,展示出來就沒有了。