Welcome to your comprehensive guide to PHP programming! Whether you're completely new to programming or coming from another language, this guide will take you from the basics to building real-world applications.
PHP (Hypertext Preprocessor) is a server-side scripting language designed specifically for web development. Before diving into coding, you'll need:
Pro Tip: Start with XAMPP or WAMP for an all-in-one development environment that includes PHP, Apache, and MySQL.
Every PHP script starts with <?php and ends with ?>. Here's your first PHP program:
<?php
echo "Hello, World!";
?>
Save this as index.php in your web server's directory and access it through your browser.
PHP variables start with a $ symbol. PHP supports several data types:
<?php
// String
$name = "John Doe";
// Integer
$age = 25;
// Float/Double
$price = 19.99;
// Boolean
$isStudent = true;
// Array
$colors = ["red", "green", "blue"];
// Null
$nothing = null;
?>
PHP provides essential control structures for program flow:
<?php
// If-else statement
$age = 20;
if ($age >= 18) {
echo "You are an adult";
} else {
echo "You are a minor";
}
// Loops
for ($i = 0; $i < 5; $i++) {
echo "Iteration: $i\n";
}
// While loop
$counter = 0;
while ($counter < 3) {
echo "Count: $counter\n";
$counter++;
}
?>
Functions help organize and reuse code:
<?php
function calculateArea($length, $width) {
return $length * $width;
}
// Function with default parameter
function greet($name = "Guest") {
return "Hello, $name!";
}
// Using the functions
echo calculateArea(5, 3); // Outputs: 15
echo greet("John"); // Outputs: Hello, John!
echo greet(); // Outputs: Hello, Guest!
?>
PHP offers powerful array manipulation capabilities:
<?php
// Indexed array
$fruits = ["apple", "banana", "orange"];
// Associative array
$person = [
"name" => "John Doe",
"age" => 25,
"city" => "New York"
];
// Multidimensional array
$students = [
["name" => "John", "grade" => 85],
["name" => "Jane", "grade" => 92]
];
// Array functions
sort($fruits); // Sort indexed array
array_push($fruits, "mango"); // Add element
$length = count($fruits); // Get array length
?>
Handle HTML forms and user input:
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$username = $_POST["username"];
$email = $_POST["email"];
// Validate input
if (empty($username)) {
echo "Username is required";
} elseif (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
echo "Invalid email format";
} else {
echo "Form submitted successfully";
}
}
?>
<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
Username: <input type="text" name="username">
Email: <input type="email" name="email">
<input type="submit">
</form>
Connect and interact with MySQL databases:
<?php
// Database connection
$conn = new mysqli("localhost", "username", "password", "database");
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
// Insert data
$sql = "INSERT INTO users (name, email) VALUES (?, ?)";
$stmt = $conn->prepare($sql);
$stmt->bind_param("ss", $name, $email);
$stmt->execute();
// Select data
$result = $conn->query("SELECT * FROM users");
while ($row = $result->fetch_assoc()) {
echo $row["name"] . " - " . $row["email"] . "\n";
}
?>
PHP supports object-oriented programming:
<?php
class User {
private $name;
private $email;
public function __construct($name, $email) {
$this->name = $name;
$this->email = $email;
}
public function getName() {
return $this->name;
}
public function getEmail() {
return $this->email;
}
}
// Create an object
$user = new User("John Doe", "john@example.com");
echo $user->getName(); // Outputs: John Doe
?>
After mastering these fundamentals, you can: