PHP按数组排序,匹配键
我的第一个阵列:PHP按数组排序,匹配键,php,arrays,drupal,Php,Arrays,Drupal,我的第一个阵列: normalArray ( [0] => Business Class [2] => Economy [6] => First Class ) 我的排序数组: sortArray ( [0] => Economy [1] => Business Class [2] => First Class ) 我正试图得到这个结果 resultsArray ( [2] => Economy
normalArray
(
[0] => Business Class
[2] => Economy
[6] => First Class
)
我的排序数组:
sortArray
(
[0] => Economy
[1] => Business Class
[2] => First Class
)
我正试图得到这个结果
resultsArray
(
[2] => Economy
[0] => Business Class
[6] => First Class
)
请注意,键和值需要遵循正确的顺序。因此,我需要按数组对数组进行排序,同时保留值的键
我四处搜索,看了很多不同的例子
谢谢试试这个:
$map = array_flip($sortArray);
uasort($normalArray,function($a,$b) use ($map) {return $map[$a] < $map[$b] ? -1 : 1});
$map=array\u flip($sortArray);
uasort($normalArray,function($a,$b)use($map){return$map[$a]<$map[$b]?-1:1});
试试这个:
$map = array_flip($sortArray);
uasort($normalArray,function($a,$b) use ($map) {return $map[$a] < $map[$b] ? -1 : 1});
$map=array\u flip($sortArray);
uasort($normalArray,function($a,$b)use($map){return$map[$a]<$map[$b]?-1:1});
我相信你要找的是。我相信你要找的是。试试这个或
例如:
<?php
$fruits = array("d" => "lemon", "a" => "orange", "b" => "banana", "c" => "apple");
asort($fruits);
--OR--
arsort($fruits);
foreach ($fruits as $key => $val) {
echo "$key = $val\n";
}
?>
normalArray
(
[0] => Economy
[2] => Business Class
[6] => First Class
)
有关排序函数属性的更多信息,请查看此
这可能对你有帮助。试试这个或
例如:
<?php
$fruits = array("d" => "lemon", "a" => "orange", "b" => "banana", "c" => "apple");
asort($fruits);
--OR--
arsort($fruits);
foreach ($fruits as $key => $val) {
echo "$key = $val\n";
}
?>
normalArray
(
[0] => Economy
[2] => Business Class
[6] => First Class
)
有关排序函数属性的更多信息,请查看此
这对你有帮助。试试这个
例如:
<?php
$fruits = array("d" => "lemon", "a" => "orange", "b" => "banana", "c" => "apple");
asort($fruits);
--OR--
arsort($fruits);
foreach ($fruits as $key => $val) {
echo "$key = $val\n";
}
?>
normalArray
(
[0] => Economy
[2] => Business Class
[6] => First Class
)
上述示例将输出:
a = orange
d = lemon
b = banana
c = apple
resultsArray
(
[2] => Business Class
[0] => Economy
[6] => First Class
)
试试这个
例如:
<?php
$fruits = array("d" => "lemon", "a" => "orange", "b" => "banana", "c" => "apple");
asort($fruits);
--OR--
arsort($fruits);
foreach ($fruits as $key => $val) {
echo "$key = $val\n";
}
?>
normalArray
(
[0] => Economy
[2] => Business Class
[6] => First Class
)
上述示例将输出:
a = orange
d = lemon
b = banana
c = apple
resultsArray
(
[2] => Business Class
[0] => Economy
[6] => First Class
)
这将维护数组的索引
参考:
这将维护数组的索引
参考:@tony你用什么来排序数组?@tony你用什么来排序数组?做一个arsort或asort不能提供我想要的结果。顺序必须与我的排序数组相同。不仅仅是按字母顺序检查。感谢resultsArray([2]=>经济舱[0]=>商务舱[6]=>头等舱)做了一个排序或排序没有提供我想要的结果。顺序必须与我的排序数组相同。不仅仅是按字母顺序检查。感谢resultsArray([2]=>Economy[0]=>Business Class[6]=>First Class)如果端口未提供我要查找的相同结果,则结果顺序需要与我的其他数组相同。如果端口未提供我要查找的相同结果,则结果顺序需要与我的其他数组相同。