5 回答
TA贡献1818条经验 获得超8个赞
您可以使用 array_multisort 方法来实现这一点。
array_multisort($valuesInPair, SORT_ASC, $elementsInPair);
TA贡献1820条经验 获得超2个赞
你可以这样做:
<?php
$elementsInPairs = ["xyz","xxx","yyy","zzz"];
$valuesInPair =[4,2,3,1];
//use [asort][1] - Sort an array in reverse order and maintain index association
asort($valuesInPair);
// and make a new array to sort elementsInPairs
$newelementsInPairs = array();
foreach($valuesInPair as $key=>$val){
$newelementsInPairs[] = $elementsInPairs[$key];
}
print_r(implode(",",$valuesInPair)."\n");
print_r(implode(",",$newelementsInPairs));
/** Output
1,2,3,4
zzz,xxx,yyy,xyz
**/
TA贡献1827条经验 获得超7个赞
您好,请合并两个数组并排序
$newArray =array_combine($valuesInPair,$elementsInPairs);
然后sort($newArray);
TA贡献1895条经验 获得超3个赞
使用下面的代码,这正是您正在寻找的。
$elementsInPairs = ["xyz","xxx","yyy","zzz"];
$valuesInPair =[4,2,3,1];
$data = array_combine($elementsInPairs,$valuesInPair);
asort($data);
$dumpdata = [];
foreach($data as $x => $x_value) {
$dumpdata[] = $x;
}
print_r($dumpdata);
我希望这可以帮助你。
TA贡献1784条经验 获得超2个赞
您可以使用array_combine()、ksort()和array_values():
<?php
$elementsInPairs = ["xyz","xxx","yyy","zzz"];
$valuesInPair = [4,2,3,1];
$newArray = array_combine($valuesInPair, $elementsInPairs);
ksort($newArray);
$sortedElements = array_values($newArray);
print_r($sortedElements);
将输出
Array
(
[0] => zzz
[1] => xxx
[2] => yyy
[3] => xyz
)
- 5 回答
- 0 关注
- 384 浏览
添加回答
举报