2010-03-02 67 views
0

我正在使用mysql group_concat函數,並遇到一些問題。我剛剛注意到數組的值實際上不是一個值,而是我的結果的一部分,這是不正確的。我需要將字符串作爲值以便我可以引用它。如何反轉或反轉鍵值?

這裏是我具有SQL的部分:

GROUP_CONCAT(t3.location,t2.content SEPARATOR '')

這產生:

Array 
(
    [0] => name my value 
    [1] => name my value 
    [2] => dept my value 

....... 

正如您所看到的,「名稱」以及「部門」都是值「我的價值」。我要的是:

Array 
(
    [name] => [0] my value 
    [name] => [1] my value 
    [dept] => [0] my value 

....... 
+0

請發佈將結果集轉換爲數組的代碼。 – Pickle 2010-03-02 16:03:23

回答

0

這工作,假設它是空白,從價值的其餘部分分離所需數組鍵的第一部分。

$sample = array('name my value', 'name my value', 'dept my value'); 

$result = array(); 
foreach ($sample as $item) 
{ 
    if (preg_match("/(\S+)\s+(.*)/", $item, $matches)) 
    { 
    $result[$matches[1]][] = $matches[2]; 
    } 
}