当前位置: 首页 > 知识库问答 >
问题:

php中怎么把数组转成json或字符串并且汉字还是汉字?

上官斌
2023-08-25

下面值是存在数据库的,

{"post":{"categories":"14","id":"177","post_title":"Qiuziti.com","post_keywords":"","post_source":"","siteUrl":"https:\/\/www.qiuziti.com\/","post_excerpt":"\u5728\u7ebf\u8bc6\u522b\u5b57\u4f53","more":{"audio":"","video":"","thumbnail":"portal\/20230822\/c6bb8d78c842b4a282d5c5ad109fe91b.png","template":""},"published_time":"2023-08-22 12:27","post_status":"1"}}

我拿出来用json_decode转成了数组,

array(1) {  ["post"] => array(10) {    ["categories"] => string(2) "14"    ["id"] => string(3) "177"    ["post_title"] => string(11) "Qiuziti.com"    ["post_keywords"] => string(0) ""    ["post_source"] => string(0) ""    ["siteUrl"] => string(24) "https://www.qiuziti.com/"    ["post_excerpt"] => string(18) "在线识别字体"    ["more"] => array(4) {      ["audio"] => string(0) ""      ["video"] => string(0) ""      ["thumbnail"] => string(52) "portal/20230822/c6bb8d78c842b4a282d5c5ad109fe91b.png"      ["template"] => string(0) ""    }    ["published_time"] => string(16) "2023-08-22 12:27"    ["post_status"] => string(1) "1"  }}

但是数组没办法一下子在前端展示,我想把上面的转成json或字符串,并且转后汉字还是汉字。这怎么实现?

共有1个答案

隗翰海
2023-08-25

你是说数据库里的 JSON 字符串已经是将 Unicode 转义后存储的了,你现在希望输出给前端的时候不要转义 Unicode?

那你可以先 decode、然后再 encode 一次:

$json = '{"post":{"categories":"14","id":"177","post_title":"Qiuziti.com","post_keywords":"","post_source":"","siteUrl":"https:\/\/www.qiuziti.com\/","post_excerpt":"\u5728\u7ebf\u8bc6\u522b\u5b57\u4f53","more":{"audio":"","video":"","thumbnail":"portal\/20230822\/c6bb8d78c842b4a282d5c5ad109fe91b.png","template":""},"published_time":"2023-08-22 12:27","post_status":"1"}}';echo json_encode(json_decode($json), JSON_UNESCAPED_UNICODE);

不过这仅仅是字符转义而已,实际上你在页面上直接渲染它,显示出来的就是汉字。就像 \n 显示出来就是换行符一样。所以我不太明白你非得想不转义的意图是什么?

 类似资料:
  • 本文向大家介绍php 把数字转换成汉字的代码,包括了php 把数字转换成汉字的代码的使用技巧和注意事项,需要的朋友参考一下 直接上实例,写到 千亿上了。 方法二: 以上所述就是本文的全部内容了,希望大家能够喜欢。

  • 想知道 js 字符串怎么转成数组对象,上面的转成下面的

  • 问题内容: 我有以下JSON字符串,它是一个Objective C数组,然后编码为JSON: 我想将其转换为常规的PHP数组。我已经尝试了很多东西,但是似乎都没有用: 有任何想法吗? 编辑: 我仍然无法正常工作。 我需要这样做: 但是我想我需要在$ decodedEmails周围加引号才能起作用。如何在$ decodeEmails字符串周围添加引号? 问题答案: 您应该引用您的字符串,它可以正常工

  • 本文向大家介绍PHP 实现字符串翻转(包含中文汉字)的实现代码,包括了PHP 实现字符串翻转(包含中文汉字)的实现代码的使用技巧和注意事项,需要的朋友参考一下 包含汉字字符串乱码 PHP面试题,题目很短,也很常见,但更容易出错,题目如下 如何实现字符串翻转? 第一反应,当然是strrev函数啦,这么容易的题目还放在面试里考,真不嫌麻烦啊?但是看了网上的答案后,发现自己错了~~~ strrev函数对

  • 题目链接 NowCoder 题目描述 将一个字符串转换成一个整数,字符串不是一个合法的数值则返回 0,要求不能使用字符串转换整数的库函数。 // html Iuput: +2147483647 1a33 Output: 2147483647 0 解题思路 // java public int StrToInt(String str) { if (str == null || str.l

  • 本文向大家介绍php把字符串指定字符分割成数组的方法,包括了php把字符串指定字符分割成数组的方法的使用技巧和注意事项,需要的朋友参考一下 实例如下: 把$str按|进行分割 php还有其他的把字符串指定字符分割成数组 参数 描述 string 必需。规定要分割的字符串。 length 可选。规定每个数组元素的长度。默认是 1。 json_decode()这个函数也可以把字符串分割成数组 (第二个