2009-07-25 8 views
1

Je suis en train de l'imploser les noms d'utilisateurs dans le tableau de users_in_range de $ le problème est qu'il est iploding miles au lieu de useridphp tableau implosion aide

<?PHP 
$users_in_range = users_in_range($lat, $long, 500, true); 

// implode users into mysql friendly list 
$comma_separated = implode(",", $users_in_range); 
echo $comma_separated; 

// this is just for output while debugging 
foreach ($users_in_range as $userid => $miles_away) { 
    echo "UserID=<b>$userid</b> is <b>$miles_away</b> miles away from me.<br />"; 
} 
?> 
+0

Comment tableau users_in_range' 'ressemble de $? – RaYell

Répondre

4

Le userid est la clé du tableau, vous devez faire:

$comma_separated = implode(",", array_keys($users_in_range)); 
+0

bah, battu par secondes encore – Ian

+0

merci, curieux est-ce mauvais sur la performance? Serais-je mieux d'inverser éventuellement l'ordre dans lequel le tableau est créé, comme changer la clé? Si je faisais des miles à la clé et à l'ID utilisateur, serais-je capable de trier par la clé des miles? – JasonDavis

+0

Les performances devraient être bonnes. Vous pouvez le changer et le trier avec ksort, mais vous auriez un problème si deux utilisateurs étaient à la même distance - je resterais avec ce que vous avez là. – Greg

1

essayer:

$comma_separated = implode(',', array_keys($users_in_range));