[英]Sort Multidimensional Array by Column
我有一個多維數組,並嘗試了我可以從該網站上找到的每個示例代碼,並按列對它進行排序。 我嘗試過的代碼片段中沒有一個起作用,並且由於某種原因,所有這些片段都導致一些奇怪的排序問題。 我無法為自己的生活弄清楚是什么原因造成的,並希望有人指出這一點...
if ($devices_xml = curl_get_file_contents($devices_url))
{
$devices = simplexml_load_string($devices_xml);
$data = array(array());
$counter = 0;
foreach ($devices->item as $device)
{
$data[$counter]["id"] = $device->objid;
$data[$counter]["probe"] = $device->probe;
$data[$counter]["name"] = $device->device;
$counter++;
}
array_sort_by_column($data, "probe");
return $data;
}
return false;
}
我的多維排序功能可用於其他所有功能,但不適用於以下情況...
function array_sort_by_column(&$arr, $col, $dir = SORT_ASC)
{
$sort_col = array();
foreach ($arr as $key=> $row)
{
$sort_col[$key] = $row[$col];
}
array_multisort($sort_col, $dir, $arr);
}
結果出來像這樣。 探針開頭是測試,例如“ DE-FRANKFURT”,名稱是第二部分,例如“ EU-DE-010”
通過將SimpleXML對象轉換為字符串可以解決此問題。 在完成排序功能之前,所有排序功能都無法正常工作,然后才是正確的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.