我正在尝试订购一个由 foreach 循环生成的数组,这是我的代码:
$lowestvar = array();
foreach ($variations as $variation){
$lowestvar[] = $variation['price_html'];
}
然后我像这样使用 array_multisort:
array_multisort($lowestvar, SORT_ASC);
print_r($lowestvar);
这适用于输出为的第一个循环项:
Array ( [0] => £10.00 [1] => £15.00 )
但是循环中的第二个数组看起来像这样:
Array ( [0] => £10.00 [1] => £5.00 )
关于我哪里出错的任何想法?
最佳答案
您正在对 STRINGS 进行排序,这意味着 10 < 5
是真的。请记住,字符串排序是逐个字符进行的,而不是按“整个值”进行的。
关于php数组在foreach中排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22941845/