2010-03-02 15 views
0

Je travaille avec une fonction mysql group_concat et j'ai quelques problèmes. Je viens de remarquer que la valeur du tableau n'est vraiment pas une valeur mais plutôt une partie de mon résultat qui n'est pas correcte. J'ai besoin de faire de la chaîne la valeur pour pouvoir la référencer.Comment inverser ou inverser des valeurs de clé?

Voici la partie de SQL que j'ai:

GROUP_CONCAT (t3.location, t2.content SÉPARATEUR '')

Ce produit:

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

....... 

Comme vous pouvez le voir, "name" ainsi que "dept" font partie de la valeur "my value". Ce que je veux:

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

....... 
+0

Veuillez publier le code dont vous disposez pour convertir le jeu de résultats dans votre tableau. – Pickle

Répondre

0

Cela fonctionne, en supposant qu'il est la première section d'espaces qui sépare vos clés du tableau souhaité du reste de la valeur.

$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]; 
    } 
}