php 按最接近数字的值对多维数组进行排序

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php 按最接近数字的值对多维数组进行排序相关的知识,希望对你有一定的参考价值。

<?php
function sortByClosest(array $arr, string $key, $num) {
  $closest = array();
	
  foreach ($arr as $akey => $aval) {
    $closest[$akey] = abs($aval[$key] - $num);
  }
	
  asort($closest);

  return array_merge($closest, $arr);
}

$listings = array(
  "prop1" => array(
    "zipcode" => "50317"
  ),
  "prop2" => array(
    "zipcode" => "50316"
  ),
  "prop3" => array(
    "zipcode" => "50314"
  ),
  "prop4" => array(
    "zipcode" => "50318"
  ),
  "prop5" => array(
    "zipcode" => "50320"	
  )
);

$listings = sortByClosest($listings, 'zipcode', 50317);

print_r($listings);
?>

以上是关于php 按最接近数字的值对多维数组进行排序的主要内容,如果未能解决你的问题,请参考以下文章

如何按值对多维数组进行排序

按特定键的内部数组的值对PHP二维数组进行排序[重复]

在PHP中按数组键的值对字典中的数组进行排序

PHP:按子数组的出现次数对多维数组进行排序

如何按给定键的值对关联数组进行排序并在php中维护键? [复制]

VB.NET中的多维数组排序