2017-06-03 31 views
0

我正在开发一个新的网站,并且我有个问题。Php反向阵列不能正常工作

输入数组:

Array ([1319] => ####,[1316] => ###) 

我有一个数组,我想revese他,后扭转阵列会是这样:

预期输出:

Array ([1316] => ###,[1319] => ####) 

但是当我使用array_reverse功能,它不适合我,我得到是阵列:

Array ([0] => ###,[1] => ####) 

为什么会发生?

+0

您可以通过使用kso​​rt键排序。 –

回答

1

为了保存密钥,您只需将第二个参数传递给true,array_reverse

Try this code snippet here

$array=Array (1319 => "####",1316 => "###"); 
print_r(array_reverse($array,true)); 
+0

谢谢,这是最好的方式! – Jack

1

你可以试试这个:

$a = []; //your array 

$keys = array_keys($arr); 
$values = array_values($arr); 

$rv = array_reverse($values); 

$newArray = array_combine($keys, $rv); 
+0

谢谢!它为我工作。购买你可以解释为什么它不适用于只有array_reverse功能? – Jack

+0

很高兴为您服务! @Jack接受答案时,你可以帮助其他人同样的问题! –

-2

我认为它是因为数组的索引是从0开始到N,我有这个问题,我使用的字符串,而不是整数
这样的:

$mArraty = new Array("_500"=>"balabala","1244"=>"test");