2 коротких вопроса, основанных на попытках сделать мой код более эффективным (я думаю, что моя главная задача - сделать весь мой (довольно сложный) сайт основанным на какой-то среде MVC, но не быть профессиональным программистом, я думаю, чтобыть длинной и крутой кривой обучения ..)
В этом коде есть способ объединить оператор if
и цикл for
, чтобы избежать вложения:
if($fileatt['name']!=null)
{
$attachedFiles = "You uploaded the following file(s)\n";
for($i=0;$i<count($docNames);$i++)
{
$attachedFiles = $attachedFiles. " - " . $docNames[$i] . "\n";
}
}
В настоящий момент я делаю довольно стандартную вещь - разделяю свой массив $ _POST из представления формы, очищаю содержимое и сохраняю элементы в отдельных переменных:
$name = cleanInput($_POST['name']);
$phone = cleanInput($_POST['phone']);
$message = cleanInput($_POST['message']);
...
(где cleanInput()
содержит striptags()
и mysql_real_escape_string()
)
Я думал, что хранение всей информации в массиве может сделать мой код более эффективным,но есть ли способ применить функцию ко всем (или выбранным) элементам массива?Например, в R это то, что делает функция apply()
.
В качестве альтернативы, учитывая, что все мои переменные имеют то же имя, что и в массиве $_POST
, существует ли способ генерировать все переменныединамически в цикле foreach
?(Я знаю, что стандартный ответ, когда люди спрашивают, могут ли они динамически генерировать переменные, заключается в использовании хэш-карты или аналогичного, но мне было интересно узнать, есть ли метод, который я пропустил)