2011-03-08 83 views
0

我有多维数组是这样的:PHP中使用的多维数组添加项目

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

我如何使用PHP

感谢

添加更多“user_tags”用逗号阵列中的分隔
+0

我如何添加更多标签这样例如,标签1,标签2,标签3 .... – vishnu 2011-03-08 08:45:10

+1

应该怎样的结果呢?你想要更多的数组条目,或者只是将'user_tags'设置为这个逗号分隔的列表? – 2011-03-08 08:48:02

回答

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

$arr[0]['user_tag'] .= ','.implode(',', $valueToAdd); // if its an array 
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()和其他许多巧妙的事情。我用了很多。

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;