Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/285.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/3/arrays/13.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_Element - Fatal编程技术网

Php 更改数组中元素的位置

Php 更改数组中元素的位置,php,arrays,sorting,element,Php,Arrays,Sorting,Element,我有一个简单的问题: 查询返回我想在PHP中更改元素顺序的数组 我有这样一个数组: $typesSumAr = array( 'break', 'private absence', 'sick leave', 'vacation', 'work', 'work absence' ); 我希望有一个按以下顺序排列的数组: $typesSumAr = array( 'work', 'break', 'sick leave', 'vacation', 'private absence', 'work

我有一个简单的问题: 查询返回我想在PHP中更改元素顺序的数组

我有这样一个数组:

$typesSumAr = array( 'break', 'private absence', 'sick leave', 'vacation', 'work', 'work absence' );
我希望有一个按以下顺序排列的数组:

$typesSumAr = array( 'work', 'break', 'sick leave', 'vacation', 'private absence', 'work absence' );
数组中的元素并不总是全部,例如,它可能只有两个,因此我无法硬编码数组。我是否需要设置if statemenets来确定密钥是否存在,然后手动排序


谢谢您的回答。

既然您有一个按您喜欢的顺序排列的数组,那么您的问题归结为将同样存在于另一个数组中的元素保留下来。PHP有一个函数,正好用于:


array\u intersect
返回一个数组,该数组包含所有参数中存在的第一个数组参数的所有值。请注意,键是保留的。

根据您想要排序的方式,有很多很棒的数组排序功能。请看这里,甚至可以通过uksort()基于您自己的函数进行排序。

排序应该基于什么逻辑?没有逻辑,我希望按照第二个数组的顺序进行排序。非常有用,谢谢,但在这种情况下我需要数组相交。