多维数组 PHP 内爆
就我的数据结构而言,我有一个 communications 数组,每个 communications_id 本身包含三部分信息:id、score 和 content。
我想内爆这个数组以获得逗号分隔的 id 列表,我该怎么做?
In terms of my data structure, I have an array of communications, with each communications_id itself containing three pieces of information: id, score, and content.
I want to implode this array in order to get a comma separated list of ids, how do I do this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
PHP 5.5 更新
PHP 5.5 引入了
array_column
这是整个array_map
类用法的便捷快捷方式;它也适用于此。原始答案
您需要从通信数组中创建一组仅包含 id 的数组。那么内爆就微不足道了。
提示:该函数为
array_map< /代码>
。
解决方案:
假设 PHP 5.3,否则您必须将回调编写为字符串。
Update for PHP 5.5
PHP 5.5 introduces
array_column
which is a convenient shortcut to a whole class ofarray_map
usage; it is also applicable here.Original answer
You need to make an array of just ids out of your array of communications. Then the implode would be trivial.
Hint: the function for that is
array_map
.Solution:
Assumes PHP 5.3, otherwise you 'd have to write the callback as a string.
您可以查看 array_walk_recursive 函数 。这是创建递归数组到字符串转换的工作片段:
You can have a look to array_walk_recursive function . This is a working snippet of creating of recursive array to string conversion :
来自 http://snipplr.com/view.php?codeview&id=10187:
From http://snipplr.com/view.php?codeview&id=10187:
对于其他寻找答案的人来说,这就是我能够做的:
我将其与 3 维数组一起使用。
For anyone else looking for an answer, this is what I was able to do:
I used this with a 3-dimensional array.
此评论基于@jon解决方案,只需添加功能代码块
,但我必须使用循环,因为 array_map 不接受第二个参数
this comment based on @jon solution , just add functional code block
but i have to use loop because array_map does not accept second parameter