我正在开发一个新的网站,并且我有个问题。Php反向阵列不能正常工作
输入数组:
Array ([1319] => ####,[1316] => ###)
我有一个数组,我想revese他,后扭转阵列会是这样:
预期输出:
Array ([1316] => ###,[1319] => ####)
但是当我使用array_reverse
功能,它不适合我,我得到是阵列:
Array ([0] => ###,[1] => ####)
为什么会发生?
我正在开发一个新的网站,并且我有个问题。Php反向阵列不能正常工作
输入数组:
Array ([1319] => ####,[1316] => ###)
我有一个数组,我想revese他,后扭转阵列会是这样:
预期输出:
Array ([1316] => ###,[1319] => ####)
但是当我使用array_reverse
功能,它不适合我,我得到是阵列:
Array ([0] => ###,[1] => ####)
为什么会发生?
为了保存密钥,您只需将第二个参数传递给true
,array_reverse
。
$array=Array (1319 => "####",1316 => "###");
print_r(array_reverse($array,true));
谢谢,这是最好的方式! – Jack
你可以试试这个:
$a = []; //your array
$keys = array_keys($arr);
$values = array_values($arr);
$rv = array_reverse($values);
$newArray = array_combine($keys, $rv);
谢谢!它为我工作。购买你可以解释为什么它不适用于只有array_reverse功能? – Jack
很高兴为您服务! @Jack接受答案时,你可以帮助其他人同样的问题! –
我认为它是因为数组的索引是从0开始到N,我有这个问题,我使用的字符串,而不是整数
这样的:
$mArraty = new Array("_500"=>"balabala","1244"=>"test");
您可以通过使用ksort键排序。 –