我有这样的多维数组:
Array
(
[0] => Array
(
[id] => 10184
[user_tags] => tag1
)
)
如何使用php
在数组中添加逗号分隔的'user_tags'由于
答案 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()
和许多其他整洁的东西。我经常使用它。