Назначение параметров PHP

Я пытаюсь понять концепцию функций PHP. Я знаю, как его создать.

function functionName() { //code to be executed; } 

Я также знаю, как вызвать функцию. Я просто немного смущен относительно того, для чего нужен параметр. Я прочитал руководство по php и учебник w3schools.com. Насколько я понимаю, вам нужен параметр для передачи значения функции? Если это правильно, почему бы просто не создать его внутри функции? Зачем использовать параметр?

Как это:

 <?php function num() { $s=14; echo $s; } num(); ?> 

Я знаю, что вы можете сделать:

 <?php function num($s=14) { echo $s; } num(); ?> 

или:

 <?php function num($s) { echo $s; } num($s=14); ?> 

Может ли кто-нибудь дать мне реальное приложение с использованием параметра, например, на основе пользовательского сайта динамического контента? Я думаю, это поможет мне лучше понять это.

Передача параметра позволяет вам использовать одну функцию много раз. Например:

Если вы хотите написать функцию ONE, отправившую почту, вы можете передать следующие параметры:

 $to = $_POST['to']; $from = $_POST['from']; $subject = $_POST['subject']; 

Затем в вашей функции:

  function sendmail($to, $from, $subject){ //code to be executed } 

Теперь вы можете повторно использовать функцию отправки в разных точках вашего веб-приложения.

Вот пример, скажем, у вас есть числа, представляющие цвета (это часто используется при хранении данных в базе данных), и вы хотите вывести, какой номер представляет какой цвет.

Скажите, что вам нужно было сделать это за хундренды раз за сто номеров.

Вы бы устали писать 100, if 100 случаев.

Вот пример функции …

 function colorType($type) { if ($type == 1) { return "Green"; } elseif ($type == 2) { return "Blue"; } elseif ($type == 3) { return "Red"; } // etc } echo colorType(1) . "<br>"; // Green echo colorType(2) . "<br>"; // Blue echo colorType(3) . "<br>"; // Red 

Функция выполняет что-то и дает результат. Он может принимать параметры, чтобы прийти к такому результату, возможно, это не так. Простой калькулятор, как уже упоминалось, является хорошим.

Самый простой способ понять функции и параметры – просто прочитать руководство по PHP. Большинство функций на основном языке PHP принимают параметры какого-то рода. Эти функции ничем не отличаются от функций, которые вы пишете.

Предположим, вы хотите создать функцию, которая позволит людям суммировать числа, вы не можете записывать необходимые переменные в функции, потому что вы хотите, чтобы другие ее вводили, а ваша функция показывает вывод:

 function add($num1, $num2){ return $num1 + $num2; } 

Теперь каждый может позвонить / использовать вашу функцию для суммирования чисел:

 echo add(5,1); // 6 echo add(2,1); // 3 echo add(15,1); // 16 

Это самый простой пример, который можно объяснить, почему вам нужны параметры 🙂

Когда вы указываете function name($var=VALUE) , вы устанавливаете значение по умолчанию.

 function doit($s=14) { return $s + 5; } doit(); // returns 19 doit(3); // returns 8 

это делает ваши функции гибкими для повторного использования в различных ситуациях, иначе вам придется писать много функций, по одному для каждого сценария. это не только утомительно, но и становится кошмаром, если вам нужно что-то исправить в этих функциях. вместо того, чтобы фиксировать его в одном месте, вам придется исправлять его во многих местах. вы в принципе никогда не захотите скопировать код вставки, который вы уже написали, вместо этого вы используете аргументы, чтобы сделать один набор кода достаточно гибким для обработки каждой ситуации.

Параметр позволяет вашей функции видеть значение переменных, которые существуют вне себя.

Например:

function F_to_C($temp) { $temp = ($temp - 32) / 1.8; return $temp; }

$ temperature = 32;

$ new_temperature = F_to_C ($ temperature); // 0

echo $ temperature;

$ temperature2 = F_to_C (212); // 100

echo $ temperature2;

Здесь мы берем $temperature , которую мы определяем в коде, но можем вводить пользователя как из формы, а затем отправлять ее функции F_to_C . Это позволяет нам преобразовать его в Цельсию, поэтому мы можем затем отобразить его в дальнейшем. В следующем разделе мы снова используем эту функцию для преобразования точки кипения, которая на этот раз посылается непосредственно в качестве значения 212. Если бы мы впервые ввели функцию $temperature = 32 в функцию, тогда мы все равно получили бы 0 в результате. Однако, поскольку мы используем параметры, вместо этого получаем 100 обратно, потому что обрабатываем указанное нами значение при вызове функции.