加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP / jQuery – 如何将多维PHP数组转换为JSON字符串?

发布时间:2020-12-13 17:25:37 所属栏目:PHP教程 来源:网络整理
导读:正如标题所述,我正在尝试使用Bootstrap的Typeahead.js,它需要一个像这样的 JSON字符串 var subjects = ['PHP','MySQL','SQL','PostgreSQL','HTML','CSS','HTML5','CSS3','JSON']; 但是我有一个多维数组,在执行json_encode时会返回以下内容 [{"username":"Tes
正如标题所述,我正在尝试使用Bootstrap的Typeahead.js,它需要一个像这样的 JSON字符串

var subjects = ['PHP','MySQL','SQL','PostgreSQL','HTML','CSS','HTML5','CSS3','JSON'];

但是我有一个多维数组,在执行json_encode时会返回以下内容

[{"username":"Test1"},{"username":"Test2"},{"username":"Test3"},{"username":"Test4"},{"username":"Test5"},{"username":"Test6"}]

我尝试使用此数组时,Typeahead.js会抛出错误.

我如何将多维转换为示例?

原始PHP数组

Array
(
[0] => Array
    (
        [username] => Test1
    )

[1] => Array
    (
        [username] => Test2
    )

[2] => Array
    (
        [username] => Test3
    )

[3] => Array
    (
        [username] => Test4
    )

[4] => Array
    (
        [username] => Test5
    )

[5] => Array
    (
        [username] => Test6
    )

)

Desired outcome would be

var subjects = ['Test1','Test2','Test3','Test4','Test5','Test6'];

解决方法

您的原始数组是二维的.您需要获取每个子数组的元素,然后将其转换为JSON:

echo json_encode(array_map(function($x) { return $x['username']; },$original_array));

或者,您可以首先修复创建原始数组的任何代码.为什么在每个元素中放置一个关联数组,而不仅仅是用户名本身?如果他们只有一个元素,总是使用相同的密钥,那么将它们作为关联数组就没有多大意义了.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读