gpt4 book ai didi

php - 在 PHP 中对 mysql_fetch_row 或 mysql_fetch_assoc 进行排序

转载 作者:太空宇宙 更新时间:2023-11-03 10:46:37 24 4
gpt4 key购买 nike

我在 PHP 中有一个 mysql_fetch_row 数组,我想根据其中一个列值对它进行排序。我完全不知道该怎么做。请帮助!谢谢。

我有这样的东西:

$doctors = array();

if ($numrows > 0) {
while ($row = mysql_fetch_row($result)) {
$doc_lat = $row[9];
$doc_lng = $row[10];

$dist = distance($user_lat, $user_lng, $doc_lat, $doc_lng, "K");
$dist = round($dist, 1);

if ($dist < 15) {
$row[19] = $dist;
$doctors[] = $row;
}

}
}

在上面的代码中,我有 doctor[],它是一个 mysql_fetch_row 数组,我想根据我添加到 $row 的第 19 个值 ($dist) 对其进行排序。

最佳答案

试试这个

$doctors['compare'] = $row;

$arr_common_all_new=sortArrayByColumValues($doctors, 'compare', DESC_NUM, $sticky_fields ) ;

function sortArrayByColumValues($arr, $field, $sort_type, $sticky_fields = array() ) {
$i = 0;
foreach ($arr as $value) {
$is_contiguous = true;
if(!empty($grouped_arr)) {
$last_value = end($grouped_arr[$i]);

if(!($sticky_fields == array())) {
foreach ($sticky_fields as $sticky_field) {
if ($value[$sticky_field] <> $last_value[$sticky_field]) {
$is_contiguous = false;
break;
}
}
}
}
if ($is_contiguous)
$grouped_arr[$i][] = $value;
else
$grouped_arr[++$i][] = $value;
}
$code = '';
switch($sort_type) {
case ASC_AZ:
$code .= 'return strcasecmp($a["'.$field.'"], $b["'.$field.'"]);';
break;
case DESC_AZ:
$code .= 'return (-1*strcasecmp($a["'.$field.'"], $b["'.$field.'"]));';
break;
case ASC_NUM:
$code .= 'return ($a["'.$field.'"] - $b["'.$field.'"]);';
break;
case DESC_NUM:
$code .= 'return ($b["'.$field.'"] - $a["'.$field.'"]);';
break;
}
$compare = create_function('$a, $b', $code);

foreach($grouped_arr as $grouped_arr_key=>$grouped_arr_value)
usort ( $grouped_arr[$grouped_arr_key], $compare );

$arr = array();
foreach($grouped_arr as $grouped_arr_key=>$grouped_arr_value)
foreach($grouped_arr[$grouped_arr_key] as $grouped_arr_arr_key=>$grouped_arr_arr_value)
$arr[] = $grouped_arr[$grouped_arr_key][$grouped_arr_arr_key];

return $arr;

关于php - 在 PHP 中对 mysql_fetch_row 或 mysql_fetch_assoc 进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30837378/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com