我无法找到一种有效的方法来通过向上或向下移动值来重新排列/交换数组项。我正在对表格进行排序,如果用户想通过向上或向下移动值来改变顺序,则数组应该向上或向下交换所需项目的值,例如:
如果用户想将项目顺序向上移动:
$desired_item_to_move = 'banana';
$default_order = array('orange', 'apple', 'banana', 'pineapple', 'strawberry');
// Typically it should return this:
array('orange', 'banana', 'apple', 'pineapple', 'strawberry');
正如您所看到的,由于将banana
向上移动,因此banana
和apple
已经交换位置,如果用户想将其向下移动,则应将pineapple
(来自第一个数组)与banana
进行交换,以此类推。
我在函数中查找,array_replace
最接近,但它仅替换数组。