Php 将数组元素向上移动一个位置
我需要帮助了解如何使用PHP将数组项向上移动一个位置。到目前为止,PHP如下所示:Php 将数组元素向上移动一个位置,php,arrays,Php,Arrays,我需要帮助了解如何使用PHP将数组项向上移动一个位置。到目前为止,PHP如下所示: <?php $task_list = array(); $task_list[] = 'Write chapter'; $task_list[] = 'Edit chapter'; $task_list[] = 'Proofread chapter'; switch( $_POST['action'] ) { case 'Promote Task': //This is where I'm stuc
<?php
$task_list = array();
$task_list[] = 'Write chapter';
$task_list[] = 'Edit chapter';
$task_list[] = 'Proofread chapter';
switch( $_POST['action'] ) {
case 'Promote Task':
//This is where I'm stuck.
?>
您只需要交换两行(所选任务和上面的任务)。所以如果你的索引总是0,1,2,3,…,n:
$selectedRow = $_POST['taskid'];
if ($selectedRow === 0) {
echo 'Already top-priority';
} else {
$rowAbove = $taks_list[$selectedRow - 1];
$task_list[$selectedRow - 1] = $taks_list[$selectedRow];
$task_list[$selectedRow] = $rowAbove;
// Or without help-variable, but less readable
list($task_list[$selectedRow - 1], $task_list[$selectedRow])
= array($task_list[$selectedRow], $task_list[$selectedRow - 1]);
}
我明白你的意思了,我只需要换两排。但是,此代码仅忽略选定索引中两个元素的值。不过谢谢你。
$selectedRow = $_POST['taskid'];
if ($selectedRow === 0) {
echo 'Already top-priority';
} else {
$rowAbove = $taks_list[$selectedRow - 1];
$task_list[$selectedRow - 1] = $taks_list[$selectedRow];
$task_list[$selectedRow] = $rowAbove;
// Or without help-variable, but less readable
list($task_list[$selectedRow - 1], $task_list[$selectedRow])
= array($task_list[$selectedRow], $task_list[$selectedRow - 1]);
}