【问题标题】:php imploding array helpphp内爆数组帮助
【发布时间】:2009-07-25 07:43:05
【问题描述】:

我正在尝试将 $users_in_range 数组中的用户 ID 内爆,问题是它正在 iploding 英里而不是用户 ID

<?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 />";
}
?>

【问题讨论】:

  • $users_in_range 数组长什么样子?

标签: php arrays implode


【解决方案1】:

userid是数组的key,所以你需要这样做:

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

【讨论】:

  • 谢谢,好奇这对性能有影响吗?可能会更好地反转数组的创建顺序,比如切换键?如果我将英里设置为键并将用户 ID 设置为值,我是否能够按英里键进行排序?
  • 性能应该没问题。您可以切换它并使用 ksort 进行排序,但如果两个用户距离相同,您会遇到问题 - 我会坚持使用您那里的内容。
【解决方案2】:

试试:

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

【讨论】: