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)); 或者,您可以首先修复创建原始数组的任何代码.为什么在每个元素中放置一个关联数组,而不仅仅是用户名本身?如果他们只有一个元素,总是使用相同的密钥,那么将它们作为关联数组就没有多大意义了. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |