php使用多维数组添加项目

时间:2011-03-08 08:42:47

标签: php arrays

我有这样的多维数组:

Array
(
    [0] => Array
        (
            [id] => 10184            
            [user_tags] => tag1
         )
)

如何使用php

在数组中添加逗号分隔的'user_tags'

由于

3 个答案:

答案 0 :(得分:3)

 $arr[0]['user_tag'] .= ','.$valueToAdd;

$arr[0]['user_tag'] .= ','.implode(',', $valueToAdd); // if its an array

答案 1 :(得分:3)

您可以在“user_tags”中添加一些内容,如下所示:

$myarray[0]['user_tags'] = 'whatever';

如果您有这样的标签数组,可以这样添加:

$tags = array('tag1', 'tag2', 'tag3', 'tag4');
$myarray[0]['user_tags'] = implode(', ', $tags);

但在这种情况下,最好直接存储数组,就像在另一条评论中所说的那样。

如果您只想添加一个标签:

$myarray[0]['user_tags'] .= ', '.$mytag;

答案 2 :(得分:2)

作为提示,我不会以逗号分隔的样式存储usertags,而是存储在另一个数组中,以便$myArray['user_tags'] = array('tag1, 'tag2', 'tag3', ...);

然后你可以像这样在数组和csv之间进行转换:

$myArray['user_tags_csv'] = implode(',', $myArray['user_tags']);
$myArray['user_tags'] = explode(',', $myArray['user_tags_csv']);

这样可以在添加标签之前更轻松地搜索现有标签。

我在SQL数据库中使用了很多(特别是用户标签或标志)。使用不同的分隔符(例如','';''|''),我甚至创建了分层的csv字符串,这些字符串可以转换为多维数组。

专业提示:将标签存储在{'tag1'='tag1', 'tag2'='tag2'}之类的关联数组中,并使用

创建
$myArray['user_tags'] = array_combine(explode(',', $myArray['user_tags_csv']), explode(',', $myArray['user_tags_csv']);

然后你可以使用array_key_exists()以及array_search()和许多其他整洁的东西。我经常使用它。