首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将多维数组简化为字符串

将多维数组简化为字符串
EN

Stack Overflow用户
提问于 2016-07-22 08:52:19
回答 4查看 475关注 0票数 3

在我的$tag变量中有这样的数组。

代码语言:javascript
复制
Array
(
    [0] => Array
        (
            [tag_name] => tag-1
        )
    [1] => Array
        (
            [tag_name] => tag-2
        )
    [2] => Array
        (
            [tag_name] => tag-3
        )
)

我要做的是获取所有的标签名,然后用昏迷将它们内爆,然后使其成为文本输入字段的值。

我尝试过很多不同的循环,但是没有取得多大的成功。如果这有帮助的话,我正在使用CodeIgniter。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2016-07-22 08:57:24

您可以使用array_column,然后是joinimplode

试试这个:

代码语言:javascript
复制
$string = join(',', array_column($array, 'tag_name'));

解释:

array_column从输入数组中返回单个列的值。

对于数组,array_column($array 'tag_name')返回一个包含索引tag_name值的数组,即返回的数组为:

代码语言:javascript
复制
Array
(
    [0] => tag-1
    [1] => tag-2
    [2] => tag-3
)

加入joinimplode,你会得到你想要的字符串,

代码语言:javascript
复制
//$string = "tag-1,tag-2,tag-3"
票数 3
EN

Stack Overflow用户

发布于 2016-07-22 08:58:04

一个简单而明显的解决办法可能是:

代码语言:javascript
复制
$res = "";
for ($i = 0; $i < count($tag); $i++) {
    $res .= $tag[$i]["tag_name"] . ",";
}
$res = trim($res, ","); //Removing the extra commas
echo $res;

基本上,遍历数组,遍历的每个元素都将tag_name添加到$res字符串中。

票数 2
EN

Stack Overflow用户

发布于 2016-07-22 08:59:11

使用array_column

代码语言:javascript
复制
$tag = implode(', ', array_column($array, 'tag_name'));

使用array_map

代码语言:javascript
复制
$tag = implode(', ', array_map(function ($tag) {
          return $tag['tag_name'];
        }, $array));
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38522168

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档