2011-03-08 79 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;