Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the health-check domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /home/yogisv5/sitesbyyogi.com/wp-includes/functions.php on line 6260
MODULE 6: Functions - SitesByYogi

StreetGeek Academy · PHP Foundations

🧩 Module 6: Functions

Objective: Learn how to create, call, and reuse functions in PHP to write cleaner,
modular, and more efficient code.

🔹 1. What Is a Function?

A function is a block of code that performs a specific task and can be reused anywhere in your script.
It allows you to write once, use many times — saving time and avoiding repetition.

<?php
function greetUser() {
    echo "Welcome to StreetGeek Academy!";
}

greetUser(); // Call the function
?>

✅ Output:
Welcome to StreetGeek Academy!

🔹 2. Function Syntax

function functionName(parameters) {
    // Code to be executed
    return value; // (optional)
}
  • Functions must start with the keyword function
  • Names cannot start with a number
  • Parentheses are required even if no parameters are passed
  • return is optional but useful to send a value back

🧩 Example with Parameters

<?php
function greet($name) {
    echo "Hello, $name!";
}

greet("Yogi"); // Output: Hello, Yogi!

greet("Brandon");
greet("Nicole");
?>

🔹 3. Functions That Return Values

Instead of echoing directly, functions can return values for flexible reuse.

<?php
function add($x, $y) {
    return $x + $y;
}

$result = add(10, 5);
echo "Sum: $result";
?>

✅ Output:
Sum: 15

🧠 Tip: Always use return when you need to pass a value back to the caller.

🔹 4. Default Parameter Values

If a parameter isn’t provided, PHP can use a default value.

<?php
function greet($name = "StreetGeek") {
    echo "Hello, $name!";
}

greet();          // Hello, StreetGeek!
greet("Yogi");    // Hello, Yogi!
?>

🔹 5. Variable Scope

The scope of a variable defines where it can be accessed.

Type Description
Local Created inside a function; can only be used inside that function
Global Declared outside; can be accessed inside using the global keyword
Static Retains its value between function calls

🧩 Example: Local vs Global

<?php
$city = "Richmond";

function showCity() {
    global $city; // Access global variable
    echo "We’re learning PHP in $city!";
}

showCity();
?>

✅ Output:
We’re learning PHP in Richmond!

🧩 Example: Static Variable

<?php
function counter() {
    static $count = 0;
    $count++;
    echo "Count: $count<br>";
}

counter();
counter();
counter();
?>

✅ Output:
Count: 1
Count: 2
Count: 3

🧠 Without static, $count would reset to 0 each time.

🔹 6. Built-in String and Array Functions

PHP comes with hundreds of built-in functions. Here are a few essentials:

🔸 String Functions

Function Description Example
strlen() Get string length strlen("StreetGeek")
strtolower() Convert to lowercase strtolower("YOGI")
strtoupper() Convert to uppercase strtoupper("academy")
str_replace() Replace text str_replace("Geek", "Guru", "StreetGeek")
substr() Extract substring substr("StreetGeek", 0, 6)

🔸 Array Functions

Function Description Example
count() Count elements count($colors)
array_merge() Combine arrays array_merge($a, $b)
array_slice() Extract subset array_slice($fruits, 1, 2)
in_array() Check if value exists in_array("Blue", $colors)

🧩 Hands-On Practice

Exercise 1: Simple Greeting Function

Create greet.php:

<?php
function greet($name) {
    echo "Hello, $name! Welcome to StreetGeek Academy.<br>";
}

greet("Yogi");
greet("Nicole");
greet("Brandon");
?>

✅ Output: Each name displays a personalized greeting.

Exercise 2: Addition Function

Create add.php:

<?php
function addNumbers($a, $b) {
    return $a + $b;
}

echo "10 + 5 = " . addNumbers(10, 5);
?>

✅ Output:
10 + 5 = 15

Exercise 3: Default Parameter

Create welcome.php:

<?php
function welcome($name = "StreetGeek Student") {
    echo "Welcome back, $name!<br>";
}

welcome();          // Uses default
welcome("Yogi");    // Custom name
?>

Exercise 4: Global and Local Scope

Create scope.php:

<?php
$academy = "StreetGeek";

function showAcademy() {
    global $academy;
    echo "You’re learning at $academy Academy.";
}

showAcademy();
?>

✅ Output:
You’re learning at StreetGeek Academy.

Exercise 5: Static Counter

Create count.php:

<?php
function increment() {
    static $count = 0;
    $count++;
    echo "This function has been called $count times.<br>";
}

increment();
increment();
increment();
?>

✅ Output increments each call.

🎯 Mini Project – BMI Calculator

Goal: Build a function that calculates Body Mass Index and returns a health category.

Create bmi.php:

<?php
function calculateBMI($weight, $height) {
    $bmi = $weight / ($height * $height);
    return $bmi;
}

function getBMICategory($bmi) {
    if ($bmi < 18.5) return "Underweight";
    elseif ($bmi < 25) return "Normal";
    elseif ($bmi < 30) return "Overweight";
    else return "Obese";
}

$weight = 70;   // kg
$height = 1.75; // meters

$bmi = calculateBMI($weight, $height);
echo "Your BMI is " . round($bmi, 1) . " - " . getBMICategory($bmi);
?>

✅ Output example:
Your BMI is 22.9 – Normal

🧠 Combines math, conditionals, and multiple functions into one working system.

🧾 Module 6 Quiz

# Question Options Correct
1 What keyword defines a function? a) func · b) define · c) function c
2 Which statement returns a value? a) send · b) return · c) output b
3 What keyword allows access to outside variables? a) static · b) global · c) use b
4 Which variable type retains its value across calls? a) static · b) local · c) temporary a
5 What will strlen("StreetGeek") return? a) 9 · b) 10 · c) 11 c

💪 Challenge Task – Dynamic Calculator

Objective: Create a PHP calculator using functions for add, subtract, multiply, and divide.

Create calculator.php and add these functions:

<?php
function add($a, $b) { return $a + $b; }
function subtract($a, $b) { return $a - $b; }
function multiply($a, $b) { return $a * $b; }
function divide($a, $b) {
    return $b == 0 ? "Cannot divide by zero" : $a / $b;
}

$x = 10;
$y = 5;

echo "Add: " . add($x, $y) . "<br>";
echo "Subtract: " . subtract($x, $y) . "<br>";
echo "Multiply: " . multiply($x, $y) . "<br>";
echo "Divide: " . divide($x, $y);
?>

✅ Output:
Add: 15
Subtract: 5
Multiply: 50
Divide: 2

🧾 Submission Checklist

  • greet.php → personalized greetings
  • add.php → returns correct math result
  • bmi.php → functional BMI calculator
  • calculator.php → function-based calculator
  • ✅ Quiz answers filled

🏁 Next Step: In Module 7, you’ll take everything you’ve learned and apply it to forms and user
input validation, learning to handle and protect user-submitted data — a crucial step toward secure web
development and building WordPress-like form workflows.