В конструкціях php та інших мов програмування часто використовується функція return — повернення результату. Її часто плутають з виводом результату на екран, тому є сенс прояснити логіку обох функцій на невеликому прикладі.
function HelloUser(){ echo "hello world"; } HelloUser();
Конструкція без проблем виведе на екран привітання “hello world”. Проте, коли ми спробуємо присвоїти цей результат якійсь змінній, аби маніпулювати ним в подальшому, то слідкуйте за руками:
- в місці створення зміної $helloVariables ми активовуємо функцію;
- в результаті в місці створення в нас виведеться текст привітання;
- проте сама змінна залишиться пустою. Це або видасть помилку (залежно від налаштувань), або видасть пустий результат, коли ми захочемо застосувати змінну в майбутньому…
function HelloUser(){ echo "hello world"; } $helloVariables = HelloUser(); // видась "hello world" echo '<br>'; echo 'Змінна привітання: ' . $helloVariables; // видасть 'Змінна привітання: '
Аби уникнути цього безладу, древні програмісти домовились про просте та водночас елегантне рішення:
function HelloUser(){ return "hello world"; } $helloVariables = HelloUser(); // передасть значення як контрабанду через кордон echo '<br>'; echo 'Змінна привітання: ' . $helloVariables . "!"; // заверне: "Змінна привітання: hello world!"
Чому я вирішив зупинитись на цій проблемі: більшість з функцій, які ми будемо розглядати в майбутньому, використовуватимуть подібну логіку і можуть працювати як в режимі виводу, так і видачі результатів. Тому розуміння цього принципу хоч і просте, але важливе для нас в майбутньому.