Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 基于值中的数字对数组进行排序_Php_Arrays_Sorting - Fatal编程技术网

Php 基于值中的数字对数组进行排序

Php 基于值中的数字对数组进行排序,php,arrays,sorting,Php,Arrays,Sorting,我有一个如下所示的数组: Array ( [0] => ripe@hobby.nl 20140827 [1] => bas@hobby.nl 20130827 [2] => bas@dikkenberg.net 20140825 [3] => bas@hobby.nl 20120825 [4] => ripe@hobby.nl 20140826 ) 现在我只想在php中根据数字对这个数组进行排序,这样在排序过程中就可以忽略电

我有一个如下所示的数组:

Array
(
    [0] => ripe@hobby.nl 20140827
    [1] => bas@hobby.nl 20130827
    [2] => bas@dikkenberg.net 20140825
    [3] => bas@hobby.nl 20120825
    [4] => ripe@hobby.nl 20140826
)

现在我只想在php中根据数字对这个数组进行排序,这样在排序过程中就可以忽略电子邮件地址。

您可以在数组中循环,
explode
空格上的字符串,
'
,然后将第一部分
$explodestring[1]
设置为新数组中的键,然后在新数组中使用
ksort

未经测试的代码

$oldArr;
$newArr = array();

foreach($oldArr as $oldStr){
    $tmpStr = explode(' ', $oldStr);
    $newArr[$tmpStr[1]] = $tmp[0]; //You could use $oldStr if you still needed the numbers.
}

ksort($newArr);

您可以在数组中循环,
explode
空格上的字符串,
'
,然后将第一部分
$explodestring[1]
设置为新数组中的键,然后在新数组中使用
ksort

未经测试的代码

$oldArr;
$newArr = array();

foreach($oldArr as $oldStr){
    $tmpStr = explode(' ', $oldStr);
    $newArr[$tmpStr[1]] = $tmp[0]; //You could use $oldStr if you still needed the numbers.
}

ksort($newArr);

例如,假设条目总是类似于
电子邮件空间号

usort($ary, function($a, $b) {
    $a = intval(explode(' ', $a)[1]);
    $b = intval(explode(' ', $b)[1]);
    return $a - $b;
});
或者以更复杂但更有效的方式使用:


例如,假设条目总是类似于
电子邮件空间号

usort($ary, function($a, $b) {
    $a = intval(explode(' ', $a)[1]);
    $b = intval(explode(' ', $b)[1]);
    return $a - $b;
});
或者以更复杂但更有效的方式使用:

现在您可以根据需要按键排序


现在,您可以根据需要按键排序了。

您是否查看了手册中的,看看它们是否可以帮助您?ksort可以帮助您:@Logar:
ksort
不能在这里帮助。@Logar ksort会给他一个排序方式emails@Jon:我完全误解了这个问题,我的坏蛋你看了手册上的吗?看看他们中有没有人能帮你?K排序可以帮你:@Logar:
K排序不能帮你。@Logar ksort会给他排序的emails@Jon:我完全误解了OP的问题,我的朋友你没有对数组进行排序,您只需在代码专用答案的脚注中提及它。请通过实际的排序调用来改进此答案,并解释您的答案是如何工作的以及为什么这是一个好主意。您实际上并没有对数组进行排序,您只是在仅代码的答案的脚注中提到它。请通过实际的排序电话和一些关于您的答案如何工作以及为什么这是一个好主意的解释来改进此答案。
Array
(
    [20140827] => ripe@hobby.nl 20140827
    [20130827] => bas@hobby.nl 20130827
    [20140825] => bas@dikkenberg.net 20140825
    [20120825] => bas@hobby.nl 20120825
    [20140826] => ripe@hobby.nl 20140826
)