Php 基于每个字符串的一部分对字符串数组进行排序

Php 基于每个字符串的一部分对字符串数组进行排序,php,arrays,sorting,Php,Arrays,Sorting,如何从以下位置订购阵列: $unordered_array = array('11196311|3','17699636|13','11196111|0','156875|2','17699679|6','11196237|7','3464760|10'); 对此 $ordered_array = array('11196111', '156875', '11196311', '17699679','11196237','3464760', '17699636'); “|”后面的数字定义了位

如何从以下位置订购阵列:

$unordered_array = array('11196311|3','17699636|13','11196111|0','156875|2','17699679|6','11196237|7','3464760|10');
对此

$ordered_array = array('11196111', '156875', '11196311', '17699679','11196237','3464760', '17699636');

“|”后面的数字定义了位置,数组需要从低到高排序,并删除最终数组中的位置号。

为什么不自己尝试?你写答案比自己做更多

$array = array();
foreach($unordered_array as $value) {
    $value = explode('|', $value);
    $array [$value[1]]= $value[0];    
}
ksort($array);
$ordered_array = array_values($array);

var_dump($ordered_array);

你为什么不自己试试?你写答案比自己做更多

$array = array();
foreach($unordered_array as $value) {
    $value = explode('|', $value);
    $array [$value[1]]= $value[0];    
}
ksort($array);
$ordered_array = array_values($array);

var_dump($ordered_array);

使用
usort()
。比较函数提取
|
之后的数字并进行比较。您可以在使用
数组映射对数组排序后删除位置号。欢迎使用堆栈溢出!StackOverflow期待您的加入,我们也会。请更新您的问题,以显示您已在某个应用程序中尝试过的内容。有关更多信息,请参阅并选择:)使用
usort()
。比较函数提取
|
之后的数字并进行比较。您可以在使用
数组映射对数组排序后删除位置号。欢迎使用堆栈溢出!StackOverflow期待您的加入,我们也会。请更新您的问题,以显示您已在某个应用程序中尝试过的内容。有关更多信息,请参阅,并点击:)