2009-07-25 2 views
1

Я пытаюсь к Implode в UserIds в массиве $ users_in_range проблемы это iploding миль вместо идентификатора пользователяPHP взрывается массив помощь

<?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

Как '$ users_in_range' массив выглядит? – RaYell

ответ

4

Идент является ключом массива, так что вам нужно делать:

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

Бах, избитый за секунды снова – Ian

+0

спасибо, любопытно это плохо по производительности? Могу ли я лучше отменить порядок создания массива, например, переключить ключ? Если бы я сделал мили ключом и значением userid, мог бы я сортировать по клавишам миль? – JasonDavis

+0

Производительность должна быть хорошей. Вы можете переключить его и отсортировать с помощью ksort, но у вас возникнет проблема, если два пользователя будут на одном расстоянии - я буду придерживаться того, что у вас есть. – Greg

1

попробовать:

$comma_separated = implode(',', array_keys($users_in_range)); 
Смежные вопросы