php按1键结束数组

时间:2011-09-20 10:30:18

标签: php arrays

说我有一个数组:

$k = array('1', 'a', '2', '3');

我想把'a'推到数组的末尾。所以它会变成:

$k = array('1', '2', '3', 'a');

有没有有效的方法可以做到这一点?

3 个答案:

答案 0 :(得分:2)

我认为你的意思是你要对数组进行排序。你可以使用PHP的sort()函数see the manual作为选项(比如排序类型,你可能需要SORT_STRING)。

答案 1 :(得分:1)

$k = array('1', 'a', '2', '3');

$varToMove = $k[1];

unset($k[1]);
$k[] = $varToMove;

var_dump($k);

你会得到:

array(4) {
  [0]=>
  string(1) "1"
  [2]=>
  string(1) "2"
  [3]=>
  string(1) "3"
  [4]=>
  string(1) "a"
}

请注意,目前缺少密钥1。不确定你是否关心他们。

答案 2 :(得分:0)

尝试PHP natsort功能:

<?php

$k = array('1', 'a', '2', '3');
var_dump($k);
natsort($k);
var_dump($k);

输出:

array(4) {
  [0]=>
  string(1) "1"
  [1]=>
  string(1) "a"
  [2]=>
  string(1) "2"
  [3]=>
  string(1) "3"
}
array(4) {
  [0]=>
  string(1) "1"
  [2]=>
  string(1) "2"
  [3]=>
  string(1) "3"
  [1]=>
  string(1) "a"
}