Как получить значения, которые я назначаю переменным в одном блоке регистра переключателя в другом блоке регистра переключателя в PHP?

В PHP есть способ получить доступ к значению, которое я назначаю переменной в одном блоке case оператора switch в другом блоке case этого же оператора switch? Например, я хочу получить доступ к значению, которое я присвоил переменной $ task_to_modify в блоке «Изменить задачу» в блоке «Сохранить изменения» ниже. Вот мой код Любой совет поможет, так как я новичок в PHP. Благодарю.

$task_to_modify
switch( $_POST['action'] ) {
case 'Add Task':
$new_task = $_POST['newtask'];
if (empty($new_task)) {
$errors[] = 'The new task cannot be empty.';
} else {
//$task_list[] = $new_task; //original code
array_push($task_list, $new_task);
}
break;
case 'Delete Task':
$task_index = $_POST['taskid'];
unset($task_list[$task_index]);
$task_list = array_values($task_list);
break;
case 'Modify Task':
global $key;
$key = $_POST['taskid']; //taskid is index of selected task from tasks selection list
global $task_to_modify;
$task_to_modify = $task_list[$key];
set_task_to_modify($task_to_modify);
echo "modify task case reached. task_to_modify is " . $task_to_modify;
break;
case 'Save Changes':
global $task_to_modify;
if(in_array($new_task, $task_list)) { //if old value is in the list
$index = array_search($new_task, $task_list); //return index # of old value
$task_list[$index] = $task_to_modify; //replaces old value with newly entered value
unset($task_to_modify); //deletes var so original form will show
}
break;
case 'Cancel Changes': //works correctly
echo 'no changes saved';
unset($task_to_modify);
break;

}

0

Решение

PHP не имеет области для каждого блока. Таким образом, переменная доступна в блоке «изменить задачу» и в блоке «сохранить изменения», поскольку они имеют одинаковую область видимости. Вы также можете посмотреть Вот чтобы понять это немного лучше.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]