У меня сложилось впечатление, что этот скрипт можно переписать короче, но я не могу понять, как это сделать. Есть ли более короткий способ сделать это?Оператор switch: получить тот же результат, но с меньшим кодом
switch($n){
case 1:
$eta1 = $_POST['eta_1'];
break;
case 2:
$eta1 = $_POST['eta_1'];
$eta2 = $_POST['eta_2'];
break;
case 3:
$eta1 = $_POST['eta_1'];
$eta2 = $_POST['eta_2'];
$eta3 = $_POST['eta_3'];
break;
case 4:
$eta1 = $_POST['eta_1'];
$eta2 = $_POST['eta_2'];
$eta3 = $_POST['eta_3'];
$eta4 = $_POST['eta_4'];
break;
case 5:
$eta1 = $_POST['eta_1'];
$eta2 = $_POST['eta_2'];
$eta3 = $_POST['eta_3'];
$eta4 = $_POST['eta_4'];
$eta5 = $_POST['eta_5'];
break;
case 6:
$eta1 = $_POST['eta_1'];
$eta2 = $_POST['eta_2'];
$eta3 = $_POST['eta_3'];
$eta4 = $_POST['eta_4'];
$eta5 = $_POST['eta_5'];
$eta6 = $_POST['eta_6'];
break;
case 7:
$eta1 = $_POST['eta_1'];
$eta2 = $_POST['eta_2'];
$eta3 = $_POST['eta_3'];
$eta4 = $_POST['eta_4'];
$eta5 = $_POST['eta_5'];
$eta6 = $_POST['eta_6'];
$eta7 = $_POST['eta_7'];
break;
case 8:
$eta1 = $_POST['eta_1'];
$eta2 = $_POST['eta_2'];
$eta3 = $_POST['eta_3'];
$eta4 = $_POST['eta_4'];
$eta5 = $_POST['eta_5'];
$eta6 = $_POST['eta_6'];
$eta7 = $_POST['eta_7'];
$eta8 = $_POST['eta_8'];
break;
case 9:
$eta1 = $_POST['eta_1'];
$eta2 = $_POST['eta_2'];
$eta3 = $_POST['eta_3'];
$eta4 = $_POST['eta_4'];
$eta5 = $_POST['eta_5'];
$eta6 = $_POST['eta_6'];
$eta7 = $_POST['eta_7'];
$eta8 = $_POST['eta_8'];
$eta9 = $_POST['eta_9'];
break;
case 10:
$eta1 = $_POST['eta_1'];
$eta2 = $_POST['eta_2'];
$eta3 = $_POST['eta_3'];
$eta4 = $_POST['eta_4'];
$eta5 = $_POST['eta_5'];
$eta6 = $_POST['eta_6'];
$eta7 = $_POST['eta_7'];
$eta8 = $_POST['eta_8'];
$eta9 = $_POST['eta_9'];
$eta10 = $_POST['eta_10'];
break;
default:
break;
}
Название отражает значение переменной $ _POST.
Использование кода, отправленного @ Do not Panic Мне нужно обновить и вставить значения переменных внутри существующего массива.
for ($i=1; $i <= $n_bambini; $i++) {
${"eta$i"} = $_POST["eta_$i"];
$_SESSION['dati_cerca_vacanza'] = ["eta$i"=>${"eta$i"}];
}
массив уже существует в этом формате:
$_SESSION['dati_cerca_vacanza']= ['citta'=>$citta, 'tipo_vacanza'=>$tipo_vacanza, 'lingua'=>$lingua, 'data_arrivo'=>$data_arrivo, 'data_partenza'=>$data_partenza, 'n_adulti'=>$n_adulti, 'n_bambini'=>$n_bambini];
Потому что это не работает?
Вы просто хотите сохранить строки кода? –
@ THarris76 Да ... –
Определите максимально возможный случай один раз внутри массива и отрежьте этот массив в соответствии с условием переключения. – arkascha