更改数组中元素的位置

时间:2014-02-24 11:39:10

标签: php arrays sorting element

我有一个简单的问题: Query返回数组,我希望在其中更改PHP中元素的顺序。

我有一个这样的数组:

$typesSumAr = array( 'break', 'private absence', 'sick leave', 'vacation', 'work', 'work absence' );

我想按此顺序拥有一个数组:

$typesSumAr = array( 'work', 'break', 'sick leave', 'vacation', 'private absence', 'work absence' );

并不总是数组中的所有元素,例如它可能只有两个,因此我无法对数组进行硬编码。我是否需要制作ifme状态以确定密钥是否存在然后手动订购?

感谢您的回答。

2 个答案:

答案 0 :(得分:2)

看到你按照自己喜欢的顺序拥有一个数组,你的问题归结为保持另一个数组中也存在的元素。 PHP具有完全相同的功能:array_intersect

array_intersect返回一个数组,其中包含所有参数中存在的第一个数组参数的所有值。请注意,密钥会被保留。

答案 1 :(得分:1)

根据您的排序方式,有很多很棒的数组排序功能。看看http://www.php.net/manual/en/array.sorting.php或者甚至根据你自己的功能通过uksort(http://www.php.net/manual/en/function.uksort.php