PHP:斜杠变成了“a”;V";当转换为数组时
我有一个变量:PHP:斜杠变成了“a”;V";当转换为数组时,php,arrays,json,encode,Php,Arrays,Json,Encode,我有一个变量:$link=$rows['link']。 当我重复这句话时,一切都很好。例如: 然后我想用以下代码将此URL保存在一个数组中:$result['video'][]=array('id'=>$id,'link'=>$link) 这里的问题是斜线变成了“V”。例如:echo json_encode($result)给了我: {“视频”:[{“id”:“1”,“链接”:”https://www.ted.com/talks/margaret_heffernan_why_it_s_time
$link=$rows['link']包含URL的代码>。
当我重复这句话时,一切都很好。例如:
然后我想用以下代码将此URL保存在一个数组中:$result['video'][]=array('id'=>$id,'link'=>$link)代码>
这里的问题是斜线变成了“V”。例如:echo json_encode($result)代码>给了我:
{“视频”:[{“id”:“1”,“链接”:”https://www.ted.com/talks/margaret_heffernan_why_it_s_time_to_forget_the_pecking_order_at_work},{“id”:“2”,“链接”:https://www.ted.com/talks/simon_sinek_why_good_leaders_make_you_feel_safe},{“id”:“3”,“链接”:https://www.ted.com/talks/regina_hartley_why_the_best_hire_might_not_have_the_perfect_resume},{“id”:“4”,“链接”:https://www.ted.com/talks/sheryl_sandberg_why_we_have_too_few_women_leaders},{“id”:“5”,“链接”:https://www.ted.com/talks/roselinde_torres_what_it_takes_to_be_a_great_leader},{“id”:“6”,“link”:https://www.ted.com/talks/stanley_mcchrystal#t-319307“},{“id”:“7”,“链接”:”https://www.ted.com/talks/stanley_mcchrystal#t-319307“},{“id”:“8”,“链接”:”https://www.ted.com/talks/stanley_mcchrystal#t-319307“},{“id”:“9”,“链接”:”https://www.ted.com/talks/stanley_mcchrystal#t-319307“},{“id”:“10”,“link”:”https://www.ted.com/talks/stanley_mcchrystal#t-319307“}]}
有人知道为什么会这样吗
谢谢!!:)你可以通过
json_encode($result, JSON_UNESCAPED_SLASHES);
这不是问题,当您编码任何带有“/”json的字符串时,会自动添加一个反向索利多字符“\”,最后一个字符串变成类似“\/”的东西。这是完全合法的json。“\/”将自动转换为“/“当您将取消对字符串的序列化时。如果输出是由适当的JSON解析器进行非序列化的,那么为什么还要担心呢
如果您坚持在输出中使用“\/”,则可以在打印时使用JSON\u UNESCAPED\u斜杠。
类似于:json\u encode($eg\u url,json\u UNESCAPED\u SLASHES)代码>
我不明白为什么这是个问题,你对它们进行json编码,它们就变成了转义斜杠\/
,然后当你把它们解码回来,它们就变成了普通斜杠。我想这就是转义斜杠,不是吗?我在你的报价栏中看不到任何内容,但它们后面跟/看起来像V,但实际上是\/这不是“V”,而是“\/”(即前斜杠
后跟反斜杠
)用于(转义前斜杠)。谢谢!!工作完美:)
<?php
/*
* @author Saurabh Pandey
* Escaping the reverse-solidus character ("/", slash) is optional in JSON.
*
* This can be controlled with the JSON_UNESCAPED_SLASHES flag constant in PHP.
*
*/
$eg_url = 'http://www.trillbit.com/';
echo json_encode($eg_url), "<br>";
echo json_encode($eg_url, JSON_UNESCAPED_SLASHES), "<br>";
http:\/\/www.trillbit.com\/
http://www.trillbit.com/