Data Analytics
27.3K subscribers
1.17K photos
24 videos
32 files
991 links
Dive into the world of Data Analytics – uncover insights, explore trends, and master data-driven decision making.

Admin: @HusseinSheikho || @Hussein_Sheikho
Download Telegram
Topic: PHP Basics – Part 2 of 10: Data Types and Operators

---

1. PHP Data Types

PHP supports multiple data types. The most common include:

String – A sequence of characters.

$name = "Ali";


Integer – Whole numbers.

$age = 30;


Float (Double) – Decimal numbers.

$price = 19.99;


Booleantrue or false.

$is_active = true;


Array – Collection of values.

$colors = array("red", "green", "blue");


Object, NULL, Resource – Used in advanced scenarios.

---

2. Type Checking Functions

var_dump($variable); // Displays type and value
is_string($name); // Returns true if $name is a string
is_array($colors); // Returns true if $colors is an array


---

3. PHP Operators

Arithmetic Operators

$a = 10;
$b = 3;
echo $a + $b; // Addition
echo $a - $b; // Subtraction
echo $a * $b; // Multiplication
echo $a / $b; // Division
echo $a % $b; // Modulus


Assignment Operators

$x = 5;
$x += 3; // same as $x = $x + 3


Comparison Operators

$a == $b  // Equal
$a === $b // Identical (value + type)
$a != $b // Not equal
$a > $b // Greater than


Logical Operators

($a > 0 && $b > 0) // AND
($a > 0 || $b > 0) // OR
!$a // NOT


---

4. String Concatenation

• Use the dot (.) operator to join strings.

$first = "Hello";
$second = "World";
echo $first . " " . $second;


---

5. Summary

• PHP supports multiple data types and a wide variety of operators.

• You can check and manipulate data types easily using built-in functions.

---

Exercise

• Create two variables: one string and one number. Perform arithmetic and string concatenation, and print the results.

---

#PHP #DataTypes #Operators #Backend #PHPTutorial

https://t.iss.one/Ebooks2023
2🔥1
Topic: PHP Basics – Part 3 of 10: Control Structures (if, else, elseif, switch, loops)

---

1. Conditional Statements in PHP

PHP allows decision-making in your code through control structures like if, else, elseif, and switch.

---

2. `if`, `else`, and `elseif` Statements

<?php
$score = 85;

if ($score >= 90) {
echo "Grade: A";
} elseif ($score >= 80) {
echo "Grade: B";
} elseif ($score >= 70) {
echo "Grade: C";
} else {
echo "Grade: F";
}
?>


• The condition inside if() must return true or false.

• You can chain multiple conditions using elseif.

---

3. `switch` Statement

• Good for checking a variable against multiple possible values.

<?php
$day = "Tuesday";

switch ($day) {
case "Monday":
echo "Start of the week!";
break;
case "Friday":
echo "Weekend is near!";
break;
case "Sunday":
echo "Rest day!";
break;
default:
echo "Just another day.";
}
?>


• Each case must end with a break to avoid fall-through.

---

4. Loops in PHP

Loops allow repeating code multiple times.

---

5. `while` Loop

<?php
$i = 0;
while ($i < 5) {
echo "Number: $i<br>";
$i++;
}
?>


• Repeats while the condition is true.

---

6. `do...while` Loop

<?php
$i = 0;
do {
echo "Count: $i<br>";
$i++;
} while ($i < 3);
?>


• Executes at least once even if the condition is false initially.

---

7. `for` Loop

<?php
for ($i = 1; $i <= 5; $i++) {
echo "Line $i<br>";
}
?>


• Most commonly used loop with initializer, condition, and increment.

---

8. `foreach` Loop

• Used to iterate over arrays.

<?php
$colors = array("red", "green", "blue");
foreach ($colors as $color) {
echo "Color: $color<br>";
}
?>


• Also works with key-value pairs:

<?php
$person = array("name" => "Ali", "age" => 28);
foreach ($person as $key => $value) {
echo "$key: $value<br>";
}
?>


---

9. Control Keywords

break – Exit a loop or switch.
continue – Skip current iteration and go to the next.

for ($i = 1; $i <= 5; $i++) {
if ($i == 3) continue;
echo "$i<br>";
}


---

10. Summary

• Conditional logic (if, else, switch) helps make decisions.

• Loops (for, while, foreach) help automate repetitive tasks.

• Control flow is critical for building dynamic applications.

---

Exercise

• Write a PHP script that prints numbers 1 to 20, but skips multiples of 3 using continue, and stops completely if the number is 17 using break.

---

#PHP #ControlStructures #Loops #PHPTutorial #BackendDevelopment

https://t.iss.one/Ebooks2023
1🔥1
Topic: PHP Basics – Part 4 of 10: Arrays in PHP (Indexed, Associative, Multidimensional)

---

1. What is an Array in PHP?

• An array is a special variable that can hold multiple values at once.

• In PHP, arrays can be indexed, associative, or multidimensional.

---

2. Indexed Arrays

• Stores values with a numeric index (starting from 0).

$fruits = array("apple", "banana", "cherry");
echo $fruits[1]; // Output: banana


• Add elements:

$fruits[] = "grape"; // Adds to the end of the array


• Count elements:

echo count($fruits); // Output: 4


• Loop through indexed array:

foreach ($fruits as $fruit) {
echo $fruit . "<br>";
}


---

3. Associative Arrays

• Uses named keys instead of numeric indexes.

$person = array(
"name" => "Ali",
"age" => 30,
"city" => "Istanbul"
);
echo $person["name"]; // Output: Ali


• Loop through associative array:

foreach ($person as $key => $value) {
echo "$key: $value<br>";
}


---

4. Multidimensional Arrays

• Arrays containing one or more arrays.

$students = array(
array("Ali", 90, 85),
array("Sara", 95, 88),
array("Omar", 78, 82)
);

echo $students[0][0]; // Output: Ali
echo $students[1][2]; // Output: 88


• Loop through multidimensional array:

for ($i = 0; $i < count($students); $i++) {
for ($j = 0; $j < count($students[$i]); $j++) {
echo $students[$i][$j] . " ";
}
echo "<br>";
}


---

5. Array Functions You Should Know

count() – Number of elements
array_push() – Add to end
array_pop() – Remove last element
array_merge() – Merge arrays
in_array() – Check if value exists
array_keys() – Get all keys
sort(), rsort() – Sort indexed array
asort(), ksort() – Sort associative array by value/key

$colors = array("red", "blue", "green");
sort($colors);
print_r($colors);


---

6. Summary

• Arrays are powerful tools for storing multiple values.

• Indexed arrays use numeric keys; associative arrays use named keys.

• PHP supports nested arrays for more complex structures.

---

Exercise

• Create a multidimensional array of 3 students with their names and 2 grades.

• Print the average grade of each student using a nested loop.

---

#PHP #Arrays #Multidimensional #PHPTutorial #BackendDevelopment

https://t.iss.one/Ebooks2023
3
Topic: PHP Basics – Part 5 of 10: Functions in PHP (User-Defined, Built-in, Parameters, Return)

---

1. What is a Function in PHP?

• A function is a block of code that performs a specific task and can be reused.

• PHP has many built-in functions, and you can also create your own user-defined functions.

---

2. Creating User-Defined Functions

function greet() {
echo "Hello, welcome to PHP!";
}

greet(); // Call the function


• Function names are case-insensitive.

---

3. Functions with Parameters

• Functions can accept arguments (input values):

function greetUser($name) {
echo "Hello, $name!";
}

greetUser("Ali"); // Output: Hello, Ali!


• You can pass multiple parameters:

function add($a, $b) {
return $a + $b;
}

echo add(3, 5); // Output: 8


---

4. Default Parameter Values

• Parameters can have default values if not passed during the call:

function greetLanguage($name, $lang = "English") {
echo "Hello $name, language: $lang";
}

greetLanguage("Sara"); // Output: Hello Sara, language: English


---

5. Returning Values from Functions

function square($num) {
return $num * $num;
}

$result = square(6);
echo $result; // Output: 36


• Use the return statement to send a value back from the function.

---

6. Variable Scope in PHP

Local Scope: Variable declared inside function – only accessible there.

Global Scope: Variable declared outside – accessible inside with global.

$x = 5;

function showX() {
global $x;
echo $x;
}

showX(); // Output: 5


---

7. Anonymous Functions (Closures)

• Functions without a name – often used as callbacks.

$square = function($n) {
return $n * $n;
};

echo $square(4); // Output: 16


---

8. Recursive Functions

• A function that calls itself.

function factorial($n) {
if ($n <= 1) return 1;
return $n * factorial($n - 1);
}

echo factorial(5); // Output: 120


---

9. Built-in PHP Functions (Examples)

strlen($str) – Get string length
strtoupper($str) – Convert to uppercase
array_sum($arr) – Sum of array elements
isset($var) – Check if variable is set
empty($var) – Check if variable is empty

---

10. Summary

• Functions keep your code organized, reusable, and clean.

• Mastering parameters, return values, and scopes is key to effective programming.

---

Exercise

• Write a function that takes a name and age, and returns a sentence like:
"My name is Ali and I am 30 years old."

• Then, write a recursive function to compute the factorial of a number.

---

#PHP #Functions #PHPTutorial #WebDevelopment #Backend

https://t.iss.one/Ebooks2023
3
Topic: PHP Basics – Part 6 of 10: Forms and User Input Handling

---

1. Introduction to Forms in PHP

• Forms are the primary way to collect data from users.

• PHP interacts with HTML forms to receive and process user input.

• Two main methods to send data:

* GET: Data is appended in the URL (visible).
* POST: Data is sent in the request body (more secure).

---

2. Creating a Basic HTML Form

<form action="process.php" method="post">
Name: <input type="text" name="username"><br>
Email: <input type="email" name="email"><br>
<input type="submit" value="Submit">
</form>


action defines where the form data will be sent.

method can be GET or POST.

---

3. Accessing Form Data in PHP

<?php
$name = $_POST['username'];
$email = $_POST['email'];

echo "Welcome $name! Your email is $email.";
?>


$_GET and $_POST are superglobals that access data sent by the form.

---

4. Validating Form Input

Validation ensures data is clean and in the expected format before processing.

<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$name = trim($_POST["username"]);

if (empty($name)) {
echo "Name is required";
} else {
echo "Hello, $name";
}
}
?>


---

5. Sanitizing User Input

• Prevent malicious input (e.g., HTML/JavaScript code).

$name = htmlspecialchars($_POST["username"]);


• This function converts special characters to HTML entities.

---

6. Self-processing Form Example

<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]); ?>">
Name: <input type="text" name="username"><br>
<input type="submit">
</form>

<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$name = htmlspecialchars($_POST["username"]);
echo "Welcome, $name";
}
?>


• Using $_SERVER["PHP_SELF"] allows the form to submit to the same file.

---

7. Using the GET Method

<form action="search.php" method="get">
Search: <input type="text" name="query">
<input type="submit">
</form>


• Data is visible in the URL: search.php?query=value

---

8. File Upload with Forms

<form action="upload.php" method="post" enctype="multipart/form-data">
Select file: <input type="file" name="myfile">
<input type="submit" value="Upload">
</form>


• Use enctype="multipart/form-data" to upload files.

<?php
if ($_FILES["myfile"]["error"] == 0) {
move_uploaded_file($_FILES["myfile"]["tmp_name"], "uploads/" . $_FILES["myfile"]["name"]);
echo "File uploaded!";
}
?>


---

9. Summary

• PHP handles user input through forms using the GET and POST methods.

• Always validate and sanitize input to prevent security issues.

• Forms are foundational for login systems, search bars, contact pages, and file uploads.

---

Exercise

• Create a form that asks for name, age, and email, and then displays a formatted message with validation and sanitization.

---

#PHP #Forms #UserInput #POST #GET #PHPTutorial

https://t.iss.one/Ebooks2023
Topic: PHP Basics – Part 7 of 10: Working with Strings

---

1. Introduction to Strings in PHP

• A string is a sequence of characters used to store and manipulate text.

• Strings can be defined using single quotes (`'`) or double quotes (`"`):

$name = "Ali";
$message = 'Welcome to PHP!';


• Double quotes allow variable interpolation, single quotes do not.

---

2. Concatenating Strings

• Use the dot (.) operator to join strings.

$first = "Hello";
$second = "World";
echo $first . " " . $second; // Output: Hello World


---

3. Common String Functions in PHP

Here are essential functions to manipulate strings:

strlen($str) – Returns the length of the string.

echo strlen("PHP"); // Output: 3


strtoupper($str) – Converts all letters to uppercase.

strtolower($str) – Converts all letters to lowercase.

ucfirst($str) – Capitalizes the first letter.

ucwords($str) – Capitalizes first letter of each word.

strrev($str) – Reverses the string.

---

4. Searching Within Strings

strpos($str, $search) – Finds the position of first occurrence of a substring.

echo strpos("Hello PHP", "PHP"); // Output: 6


str_contains($str, $search) – Checks if substring exists (PHP 8+).

---

5. Extracting Substrings

substr($str, $start, $length) – Extracts part of a string.

$text = "Welcome to PHP";
echo substr($text, 0, 7); // Output: Welcome


---

6. Replacing Text in Strings

str_replace($search, $replace, $subject) – Replaces all occurrences.

echo str_replace("PHP", "Laravel", "Welcome to PHP"); // Output: Welcome to Laravel


---

7. Trimming and Cleaning Strings

trim($str) – Removes whitespace from both ends.

ltrim($str) – From the left side only.

rtrim($str) – From the right side only.

---

8. String Comparison

strcmp($str1, $str2) – Returns 0 if both strings are equal.

strcasecmp($str1, $str2) – Case-insensitive comparison.

---

9. Escaping Characters

• Use backslash (\) to escape quotes:

echo "He said: \"Hello!\"";


---

10. Summary

• Strings are core to user interaction and text processing.

• PHP offers powerful built-in functions to manipulate strings efficiently.

---

Exercise

• Write a function that takes a user's full name and returns:

* The name in all caps
* The reversed name
* The first name only using substr() and strpos()

---

#PHP #Strings #PHPTutorial #StringFunctions #WebDevelopment

https://t.iss.one/Ebooks2023
3
Topic: PHP Basics – Part 8 of 10: Working with Files and Directories

---

1. Introduction to File Handling in PHP

• PHP allows you to create, read, write, append, and delete files on the server.

• You can also manage directories, check if a file exists, and more.

---

2. Opening a File

Use the fopen() function:

$handle = fopen("example.txt", "r");


"r" means read-only. Other modes include:

| Mode | Description |
| ------ | -------------------------------- |
| "r" | Read-only |
| "w" | Write-only (truncates file) |
| "a" | Append |
| "x" | Create & write (fails if exists) |
| "r+" | Read & write |

---

3. Reading from a File

$handle = fopen("example.txt", "r");
$content = fread($handle, filesize("example.txt"));
fclose($handle);

echo $content;


fread() reads the entire file based on its size.

• Always use fclose() to release system resources.

---

4. Writing to a File

$handle = fopen("newfile.txt", "w");
fwrite($handle, "Hello from PHP file writing!");
fclose($handle);


• If the file doesn't exist, it will be created.

• If it exists, it will be overwritten.

---

5. Appending to a File

$handle = fopen("log.txt", "a");
fwrite($handle, "New log entry\n");
fclose($handle);


"a" keeps existing content and adds to the end.

---

6. Reading Line by Line

$handle = fopen("example.txt", "r");
while (!feof($handle)) {
$line = fgets($handle);
echo $line . "<br>";
}
fclose($handle);


feof() checks for end of file.

fgets() reads a single line.

---

7. Checking If File Exists

if (file_exists("example.txt")) {
echo "File found!";
} else {
echo "File not found!";
}


---

8. Deleting a File

if (file_exists("delete_me.txt")) {
unlink("delete_me.txt");
echo "File deleted.";
}


---

9. Working with Directories

Create a directory:

mkdir("myfolder");


Check if a directory exists:

if (is_dir("myfolder")) {
echo "Directory exists!";
}


Delete a directory:

rmdir("myfolder"); // Only works if empty


---

10. Scanning a Directory

$files = scandir("myfolder");
print_r($files);


• Returns an array of file and directory names.

---

11. Uploading Files

This is a common use case when working with files in PHP.

HTML Form:

<form action="upload.php" method="post" enctype="multipart/form-data">
<input type="file" name="uploadedFile">
<input type="submit" value="Upload">
</form>


upload.php:

if ($_FILES["uploadedFile"]["error"] === 0) {
$target = "uploads/" . basename($_FILES["uploadedFile"]["name"]);
move_uploaded_file($_FILES["uploadedFile"]["tmp_name"], $target);
echo "Upload successful!";
}


---

12. Summary

• PHP provides powerful tools for file and directory operations.

• You can manage content, upload files, read/write dynamically, and handle directories with ease.

---

Exercise

• Create a PHP script that:

* Checks if a file named data.txt exists
* If it does, reads and prints its contents
* If not, creates the file and writes a welcome message

---

#PHP #FileHandling #Directories #PHPTutorial #BackendDevelopment

https://t.iss.one/Ebooks2023
2
🚀 THE 7-DAY PROFIT CHALLENGE! 🚀

Can you turn $100 into $5,000 in just 7 days?
Jay can. And she’s challenging YOU to do the same. 👇

https://t.iss.one/+QOcycXvRiYs4YTk1
https://t.iss.one/+QOcycXvRiYs4YTk1
https://t.iss.one/+QOcycXvRiYs4YTk1
1
Topic: PHP Basics – Part 9 of 10: Sessions, Cookies, and State Management

---

1. Why Use Sessions and Cookies?

• HTTP is stateless – every request is independent.
• To remember users or store temporary data (like login), we use sessions and cookies.

---

### 2. Sessions in PHP

• Sessions store data on the server.

---

Starting a Session

<?php
session_start(); // Always at the top
$_SESSION["username"] = "Ali";
?>


• This creates a unique session ID per user and stores data on the server.

---

Accessing Session Data

<?php
session_start();
echo $_SESSION["username"]; // Output: Ali
?>


---

Destroying a Session

<?php
session_start();
session_unset(); // Remove all session variables
session_destroy(); // Destroy the session
?>


---

Use Cases for Sessions

• Login authentication
• Shopping carts
• Flash messages (e.g., "You’ve logged out")

---

### 3. Cookies in PHP

• Cookies store data on the client’s browser.

---

Setting a Cookie

setcookie("user", "Ali", time() + (86400 * 7)); // 7 days


• Syntax: setcookie(name, value, expiration, path, domain, secure, httponly)

---

Accessing Cookie Values

echo $_COOKIE["user"];


---

Deleting a Cookie

setcookie("user", "", time() - 3600); // Expire it in the past


---

Session vs Cookie

| Feature | Session | Cookie |
| ---------- | -------------------------------- | ------------ |
| Storage | Server-side | Client-side |
| Size Limit | Large (server) | \~4KB |
| Expiry | On browser close or set manually | Manually set |
| Security | More secure | Less secure |

---

### 4. Best Practices

• Always use session_start() before outputting anything.

• Use secure flags (secure, httponly) when setting cookies.

setcookie("auth", "token", time()+3600, "/", "", true, true);


---

5. Session Timeout Handling

session_start();
$timeout = 600; // 10 minutes

if (isset($_SESSION['LAST_ACTIVITY']) && (time() - $_SESSION['LAST_ACTIVITY'] > $timeout)) {
session_unset();
session_destroy();
echo "Session expired.";
}
$_SESSION['LAST_ACTIVITY'] = time();


---

6. Flash Messages with Sessions

// Set message
$_SESSION["message"] = "Login successful!";

// Display then clear
if (isset($_SESSION["message"])) {
echo $_SESSION["message"];
unset($_SESSION["message"]);
}


---

### 7. Summary

Sessions are best for storing temporary and secure server-side user data.

Cookies are useful for small, client-side persistent data.

• Use both wisely to build secure and dynamic web applications.

---

Exercise

• Create a login form that stores the username in a session.
• Set a welcome cookie that lasts 1 day after login.
• Display both the session and cookie values after login.

---

#PHP #Sessions #Cookies #Authentication #PHPTutorial #BackendDevelopment

https://t.iss.one/Ebooks2023
Topic: PHP Basics – Part 10 of 10: Connecting PHP with MySQL Database (CRUD Operations)

---

1. Introduction

PHP works seamlessly with MySQL, one of the most popular open-source relational databases. In this lesson, we’ll learn how to:

• Connect to a MySQL database
• Perform basic CRUD operations (Create, Read, Update, Delete)

We’ll use the mysqli extension (object-oriented style) in this tutorial.

---

### 2. Setting Up the Database

Suppose we have a MySQL database named school with a table students:

CREATE DATABASE school;

USE school;

CREATE TABLE students (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(50),
email VARCHAR(100),
age INT
);


---

### 3. Connecting PHP to MySQL

<?php
$host = "localhost";
$user = "root";
$password = "";
$db = "school";

$conn = new mysqli($host, $user, $password, $db);

if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
echo "Connected successfully!";
?>


---

### 4. Create (INSERT)

<?php
$sql = "INSERT INTO students (name, email, age) VALUES ('Ali', '[email protected]', 22)";
if ($conn->query($sql) === TRUE) {
echo "New record created successfully.";
} else {
echo "Error: " . $conn->error;
}
?>


---

### 5. Read (SELECT)

<?php
$sql = "SELECT * FROM students";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
echo "ID: " . $row["id"]. " | Name: " . $row["name"]. " | Email: " . $row["email"]. "<br>";
}
} else {
echo "0 results";
}
?>


---

### 6. Update (UPDATE)

<?php
$sql = "UPDATE students SET age = 23 WHERE name = 'Ali'";
if ($conn->query($sql) === TRUE) {
echo "Record updated successfully.";
} else {
echo "Error updating record: " . $conn->error;
}
?>


---

### 7. Delete (DELETE)

<?php
$sql = "DELETE FROM students WHERE name = 'Ali'";
if ($conn->query($sql) === TRUE) {
echo "Record deleted successfully.";
} else {
echo "Error deleting record: " . $conn->error;
}
?>


---

### 8. Prepared Statements (Best Practice for Security)

Prevent SQL injection by using prepared statements:

<?php
$stmt = $conn->prepare("INSERT INTO students (name, email, age) VALUES (?, ?, ?)");
$stmt->bind_param("ssi", $name, $email, $age);

$name = "Sara";
$email = "[email protected]";
$age = 20;

$stmt->execute();
echo "Data inserted securely.";
$stmt->close();
?>


---

### 9. Closing the Connection

$conn->close();


---

### 10. Summary

• PHP connects easily with MySQL using mysqli.

• Perform CRUD operations for full database interaction.

• Always use prepared statements for secure data handling.

---

### Exercise

1. Create a PHP page to add a student using a form.
2. Display all students in a table.
3. Add edit and delete buttons next to each student.
4. Implement all CRUD operations using mysqli.

---

#PHP #MySQL #CRUD #PHPTutorial #WebDevelopment #Database

https://t.iss.one/Ebooks2023
2
Topic: 33 Important PHP Questions for Beginners (with Answers)

---

1. What does PHP stand for?
Answer: PHP stands for *PHP: Hypertext Preprocessor*.

---

2. What is PHP used for?
Answer: PHP is used to create dynamic web pages and server-side applications.

---

3. How do you declare a variable in PHP?
Answer: Variables in PHP start with a $ sign, e.g., $name = "Ali";.

---

4. Is PHP case-sensitive?
Answer: Function names are not case-sensitive, but variables are.

---

5. What is the difference between `echo` and `print`?
Answer: Both output data. echo is faster and can output multiple strings, while print returns 1.

---

6. How do you write comments in PHP?
Answer:

// Single line  
# Another single line
/* Multi-line */


---

7. How do you create a function in PHP?
Answer:

function greet() {
echo "Hello!";
}


---

8. What are the different data types in PHP?
Answer: String, Integer, Float, Boolean, Array, Object, NULL, Resource.

---

9. How can you connect PHP to a MySQL database?
Answer: Using mysqli_connect() or new mysqli().

---

10. What is a session in PHP?
Answer: A session stores user data on the server across multiple pages.

---

11. How do you start a session?
Answer: session_start();

---

12. How do you set a cookie in PHP?
Answer: setcookie("name", "value", time()+3600);

---

13. How can you check if a variable is set?
Answer: isset($variable);

---

14. What is `$_POST` and `$_GET`?
Answer: Superglobals used to collect form data sent via POST or GET methods.

---

15. How do you include a file in PHP?
Answer:

include "file.php";  
require "file.php";


---

16. Difference between `include` and `require`?
Answer: require will cause a fatal error if the file is missing; include will only raise a warning.

---

17. How do you loop through an array?
Answer:

foreach ($array as $value) {
echo $value;
}


---

18. How to define an associative array?
Answer:

$person = ["name" => "Ali", "age" => 25];


---

19. What are superglobals in PHP?
Answer: Predefined variables like $_GET, $_POST, $_SESSION, etc.

---

20. What is the use of `isset()` and `empty()`?
Answer:
isset() checks if a variable is set and not null.
empty() checks if a variable is empty.

---

21. How to check if a file exists?
Answer: file_exists("filename.txt");

---

22. How to upload a file in PHP?
Answer: Use $_FILES and move_uploaded_file().

---

23. What is a constructor in PHP?
Answer: A special method __construct() that runs when an object is created.

---

24. What is OOP in PHP?
Answer: Object-Oriented Programming using classes, objects, inheritance, etc.

---

25. What are magic constants in PHP?
Answer: Built-in constants like __LINE__, __FILE__, __DIR__.

---

26. How to handle errors in PHP?
Answer: Using try...catch, error_reporting(), and set_error_handler().

---

27. What is the difference between `==` and `===`?
Answer:
== checks value only.
=== checks value and type.

---

28. How to redirect a user in PHP?
Answer:

header("Location: page.php");


---

29. How to sanitize user input?
Answer: Use htmlspecialchars(), strip_tags(), trim().

---

30. How do you close a MySQL connection?
Answer: $conn->close();

---

31. What is `explode()` in PHP?
Answer: Splits a string into an array using a delimiter.

explode(",", "one,two,three");

---

32. How do you hash passwords in PHP?
Answer:

password_hash("123456", PASSWORD_DEFAULT);

---

33. What version of PHP should you use?
Answer: Always use the latest stable version (e.g., PHP 8.2+) for performance and security.

---

#PHP #InterviewQuestions #Beginners #PHPTutorial #WebDevelopment

https://t.iss.one/Ebooks2023
5
# 📚 Connecting MySQL Database with Popular Programming Languages

#MySQL #Programming #Database #Python #Java #CSharp #PHP #Kotlin #MATLAB #Julia

MySQL is a powerful relational database management system. Here’s how to connect MySQL with various programming languages.

---

## 🔹 1. Connecting MySQL with Python
#Python #MySQL
Use the mysql-connector-python or pymysql library.

import mysql.connector

# Establish connection
conn = mysql.connector.connect(
host="localhost",
user="your_username",
password="your_password",
database="your_database"
)

cursor = conn.cursor()
cursor.execute("SELECT * FROM your_table")
result = cursor.fetchall()

for row in result:
print(row)

conn.close()


---

## 🔹 2. Connecting MySQL with Java
#Java #JDBC
Use JDBC (Java Database Connectivity).

import java.sql.*;

public class MySQLJava {
public static void main(String[] args) {
String url = "jdbc:mysql://localhost:3306/your_database";
String user = "your_username";
String password = "your_password";

try {
Connection conn = DriverManager.getConnection(url, user, password);
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("SELECT * FROM your_table");

while (rs.next()) {
System.out.println(rs.getString("column_name"));
}

conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}


---

## 🔹 3. Connecting MySQL with C# (.NET)
#CSharp #DotNet #MySQL
Use MySql.Data NuGet package.

using MySql.Data.MySqlClient;

string connStr = "server=localhost;user=your_username;database=your_database;password=your_password";
MySqlConnection conn = new MySqlConnection(connStr);

try {
conn.Open();
string query = "SELECT * FROM your_table";
MySqlCommand cmd = new MySqlCommand(query, conn);
MySqlDataReader reader = cmd.ExecuteReader();

while (reader.Read()) {
Console.WriteLine(reader["column_name"]);
}
} catch (Exception ex) {
Console.WriteLine(ex.Message);
} finally {
conn.Close();
}


---

## 🔹 4. Connecting MySQL with PHP
#PHP #MySQL
Use mysqli or PDO.

<?php
$servername = "localhost";
$username = "your_username";
$password = "your_password";
$dbname = "your_database";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);

// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}

$sql = "SELECT * FROM your_table";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
echo $row["column_name"];
}
} else {
echo "0 results";
}

$conn->close();
?>


---

## 🔹 5. Connecting MySQL with Kotlin
#Kotlin #JDBC
Use JDBC (similar to Java).

import java.sql.DriverManager

fun main() {
val url = "jdbc:mysql://localhost:3306/your_database"
val user = "your_username"
val password = "your_password"

try {
val conn = DriverManager.getConnection(url, user, password)
val stmt = conn.createStatement()
val rs = stmt.executeQuery("SELECT * FROM your_table")

while (rs.next()) {
println(rs.getString("column_name"))
}

conn.close()
} catch (e: Exception) {
e.printStackTrace()
}
}


---

## 🔹 6. Connecting MySQL with MATLAB
#MATLAB #Database
Use Database Toolbox.

conn = database('your_database', 'your_username', 'your_password', 'com.mysql.jdbc.Driver', 'jdbc:mysql://localhost:3306/your_database');

data = fetch(conn, 'SELECT * FROM your_table');
disp(data);

close(conn);


---

## 🔹 7. Connecting MySQL with Julia
#Julia #MySQL
Use MySQL.jl package.

using MySQL

conn = MySQL.connect("localhost", "your_username", "your_password", db="your_database")

result = MySQL.execute(conn, "SELECT * FROM your_table")

for row in result
println(row)
end

MySQL.disconnect(conn)


---
5
Data Analytics
# 📚 Connecting MySQL Database with Popular Programming Languages #MySQL #Programming #Database #Python #Java #CSharp #PHP #Kotlin #MATLAB #Julia MySQL is a powerful relational database management system. Here’s how to connect MySQL with various programming…
### 📌 Conclusion
MySQL can be integrated with almost any programming language using appropriate libraries. Always ensure secure connections and proper error handling!

#DatabaseProgramming #MySQLConnections #DevTips

🚀 Happy Coding! 🚀
Please open Telegram to view this post
VIEW IN TELEGRAM
# 📚 Connecting MySQL with Popular Web Frameworks

#MySQL #WebDev #Frameworks #Django #Laravel #Flask #ASPNET #Spring

MySQL is widely used in web development. Here’s how to connect it with top web frameworks.

---

## 🔹 1. Django (Python) with MySQL
#Django #Python #MySQL
Use mysqlclient or pymysql.

1️⃣ Install the driver:
pip install mysqlclient  # Recommended
# OR
pip install pymysql


2️⃣ Update `settings.py`:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'your_database',
'USER': 'your_username',
'PASSWORD': 'your_password',
'HOST': 'localhost',
'PORT': '3306',
}
}


3️⃣ If using `pymysql`, add this to `__init__.py`:
import pymysql
pymysql.install_as_MySQLdb()


---

## 🔹 2. Laravel (PHP) with MySQL
#Laravel #PHP #MySQL
Laravel has built-in MySQL support.

1️⃣ Configure `.env`:
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=your_database
DB_USERNAME=your_username
DB_PASSWORD=your_password


2️⃣ Run migrations:
php artisan migrate


---

## 🔹 3. Flask (Python) with MySQL
#Flask #Python #MySQL
Use flask-mysqldb or SQLAlchemy.

### Option 1: Using `flask-mysqldb`
from flask import Flask
from flask_mysqldb import MySQL

app = Flask(__name__)

app.config['MYSQL_HOST'] = 'localhost'
app.config['MYSQL_USER'] = 'your_username'
app.config['MYSQL_PASSWORD'] = 'your_password'
app.config['MYSQL_DB'] = 'your_database'

mysql = MySQL(app)

@app.route('/')
def index():
cur = mysql.connection.cursor()
cur.execute("SELECT * FROM your_table")
data = cur.fetchall()
return str(data)


### Option 2: Using SQLAlchemy
from flask import Flask
from flask_sqlalchemy import SQLAlchemy

app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://username:password@localhost/your_database'
db = SQLAlchemy(app)


---

## 🔹 4. ASP.NET Core with MySQL
#ASPNET #CSharp #MySQL
Use Pomelo.EntityFrameworkCore.MySql.

1️⃣ Install the package:
dotnet add package Pomelo.EntityFrameworkCore.MySql


2️⃣ Configure in `Startup.cs`:
services.AddDbContext<ApplicationDbContext>(options =>
options.UseMySql(
"server=localhost;database=your_database;user=your_username;password=your_password",
ServerVersion.AutoDetect("server=localhost;database=your_database")
)
);


---

## 🔹 5. Spring Boot (Java) with MySQL
#SpringBoot #Java #MySQL

1️⃣ Add dependency in `pom.xml`:
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.28</version>
</dependency>


2️⃣ Configure `application.properties`:
spring.datasource.url=jdbc:mysql://localhost:3306/your_database
spring.datasource.username=your_username
spring.datasource.password=your_password
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver


3️⃣ JPA Entity Example:
@Entity
@Table(name = "users")
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String name;
// Getters & Setters
}


---

## 🔹 6. Express.js (Node.js) with MySQL
#Express #NodeJS #MySQL
Use mysql2 or sequelize.

### Option 1: Using `mysql2`
const mysql = require('mysql2');

const connection = mysql.createConnection({
host: 'localhost',
user: 'your_username',
password: 'your_password',
database: 'your_database'
});

connection.query('SELECT * FROM users', (err, results) => {
console.log(results);
});


### Option 2: Using Sequelize (ORM)
const { Sequelize } = require('sequelize');

const sequelize = new Sequelize('your_database', 'your_username', 'your_password', {
host: 'localhost',
dialect: 'mysql'
});

// Test connection
sequelize.authenticate()
.then(() => console.log('Connected!'))
.catch(err => console.error('Error:', err));


---

### 📌 Conclusion
MySQL integrates smoothly with all major web frameworks. Choose the right approach based on your stack!

#WebDevelopment #Backend #MySQLIntegration

🚀 Happy Coding! 🚀
Please open Telegram to view this post
VIEW IN TELEGRAM
1
# 📚 Java Programming Language – Part 1/10: Introduction to Java
#Java #Programming #OOP #Beginner #Coding

Welcome to this comprehensive 10-part Java series! Let’s start with the basics.

---

## 🔹 What is Java?
Java is a high-level, object-oriented, platform-independent programming language. It’s widely used in:
- Web applications (Spring, Jakarta EE)
- Mobile apps (Android)
- Enterprise software
- Big Data (Hadoop)
- Embedded systems

Key Features:
✔️ Write Once, Run Anywhere (WORA) – Thanks to JVM
✔️ Strongly Typed – Variables must be declared with a type
✔️ Automatic Memory Management (Garbage Collection)
✔️ Multi-threading Support

---

## 🔹 Java vs. Other Languages
| Feature | Java | Python | C++ |
|---------------|--------------|--------------|--------------|
| Typing | Static | Dynamic | Static |
| Speed | Fast (JIT) | Slower | Very Fast |
| Memory | Managed (GC) | Managed | Manual |
| Use Case | Enterprise | Scripting | System/Game |

---

## 🔹 How Java Works?
1. Write code in .java files
2. Compile into bytecode (.class files) using javac
3. JVM (Java Virtual Machine) executes the bytecode

HelloWorld.java → (Compile) → HelloWorld.class → (Run on JVM) → Output


---

## 🔹 Setting Up Java
1️⃣ Install JDK (Java Development Kit)
- Download from [Oracle] :https://www.oracle.com/java/technologies/javase-downloads.html
- Or use OpenJDK (Free alternative)

2️⃣ Verify Installation
java -version
javac -version


3️⃣ Set `JAVA_HOME` (For IDE compatibility)

---

## 🔹 Your First Java Program
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello, World!");
}
}


### 📌 Explanation:
- public class HelloWorld → Class name must match the filename (HelloWorld.java)
- public static void main(String[] args)Entry point of any Java program
- System.out.println() → Prints output

### ▶️ How to Run?
javac HelloWorld.java  # Compiles to HelloWorld.class
java HelloWorld # Runs the program

Output:
Hello, World!


---

## 🔹 Java Syntax Basics
Case-SensitivemyVarMyVar
Class NamesPascalCase (MyClass)
Method/Variable NamescamelCase (myMethod)
Every statement ends with `;`

---

## 🔹 Variables & Data Types
Java supports primitive and non-primitive types.

### Primitive Types (Stored in Stack Memory)
| Type | Size | Example |
|-----------|---------|----------------|
| int | 4 bytes | int x = 10; |
| double | 8 bytes | double y = 3.14; |
| boolean | 1 bit | boolean flag = true; |
| char | 2 bytes | char c = 'A'; |

### Non-Primitive (Reference Types, Stored in Heap)
- StringString name = "Ali";
- Arrays → int[] nums = {1, 2, 3};
- Classes & Objects

---

### 📌 What’s Next?
In Part 2, we’ll cover:
➡️ Operators & Control Flow (if-else, loops)
➡️ Methods & Functions

Stay tuned! 🚀

#LearnJava #JavaBasics #CodingForBeginners
4
# 📚 Java Programming Language – Part 2/10: Operators & Control Flow
#Java #Programming #OOP #ControlFlow #Coding

Welcome to Part 2 of our Java series! Today we'll explore operators and control flow structures.

---

## 🔹 Java Operators Overview
Java provides various operators for:
- Arithmetic calculations
- Logical decisions
- Variable assignments
- Comparisons

### 1. Arithmetic Operators
int a = 10, b = 3;
System.out.println(a + b); // 13 (Addition)
System.out.println(a - b); // 7 (Subtraction)
System.out.println(a * b); // 30 (Multiplication)
System.out.println(a / b); // 3 (Division - integer)
System.out.println(a % b); // 1 (Modulus)
System.out.println(a++); // 10 (Post-increment)
System.out.println(++a); // 12 (Pre-increment)


### 2. Relational Operators
System.out.println(a == b); // false (Equal to)
System.out.println(a != b); // true (Not equal)
System.out.println(a > b); // true (Greater than)
System.out.println(a < b); // false (Less than)
System.out.println(a >= b); // true (Greater or equal)
System.out.println(a <= b); // false (Less or equal)


### 3. Logical Operators
boolean x = true, y = false;
System.out.println(x && y); // false (AND)
System.out.println(x || y); // true (OR)
System.out.println(!x); // false (NOT)


### 4. Assignment Operators
int c = 5;
c += 3; // Equivalent to c = c + 3
c -= 2; // Equivalent to c = c - 2
c *= 4; // Equivalent to c = c * 4
c /= 2; // Equivalent to c = c / 2


---

## 🔹 Control Flow Statements
Control the execution flow of your program.

### 1. if-else Statements
int age = 18;
if (age >= 18) {
System.out.println("Adult");
} else {
System.out.println("Minor");
}


### 2. Ternary Operator
String result = (age >= 18) ? "Adult" : "Minor";
System.out.println(result);


### 3. switch-case Statement
int day = 3;
switch(day) {
case 1:
System.out.println("Monday");
break;
case 2:
System.out.println("Tuesday");
break;
// ... other cases
default:
System.out.println("Invalid day");
}


### 4. Loops
#### while Loop
int i = 1;
while (i <= 5) {
System.out.println(i);
i++;
}


#### do-while Loop
int j = 1;
do {
System.out.println(j);
j++;
} while (j <= 5);


#### for Loop
for (int k = 1; k <= 5; k++) {
System.out.println(k);
}


#### Enhanced for Loop (for-each)
int[] numbers = {1, 2, 3, 4, 5};
for (int num : numbers) {
System.out.println(num);
}


---

## 🔹 Break and Continue
Control loop execution flow.

// Break example
for (int i = 1; i <= 10; i++) {
if (i == 5) {
break; // Exit loop
}
System.out.println(i);
}

// Continue example
for (int i = 1; i <= 10; i++) {
if (i % 2 == 0) {
continue; // Skip even numbers
}
System.out.println(i);
}


---

## 🔹 Practical Example: Number Guessing Game
import java.util.Scanner;
import java.util.Random;

public class GuessingGame {
public static void main(String[] args) {
Random rand = new Random();
int secretNumber = rand.nextInt(100) + 1;
Scanner scanner = new Scanner(System.in);
int guess;

do {
System.out.print("Guess the number (1-100): ");
guess = scanner.nextInt();

if (guess < secretNumber) {
System.out.println("Too low!");
} else if (guess > secretNumber) {
System.out.println("Too high!");
}
} while (guess != secretNumber);

System.out.println("Congratulations! You guessed it!");
scanner.close();
}
}


---

### 📌 What's Next?
In Part 3, we'll cover:
➡️ Methods and Functions
➡️ Method Overloading
➡️ Recursion

#JavaProgramming #ControlFlow #LearnToCode 🚀
Please open Telegram to view this post
VIEW IN TELEGRAM
3
Data Analytics
# 📚 Java Programming Language – Part 2/10: Operators & Control Flow #Java #Programming #OOP #ControlFlow #Coding Welcome to Part 2 of our Java series! Today we'll explore operators and control flow structures. --- ## 🔹 Java Operators Overview Java provides…
# 📚 Java Programming Language – Part 3/10: Methods & Functions
#Java #Programming #Methods #Functions #OOP

Welcome to Part 3 of our Java series! Today we'll dive into methods - the building blocks of Java programs.

---

## 🔹 What are Methods in Java?
Methods are blocks of code that:
✔️ Perform specific tasks
✔️ Can be reused multiple times
✔️ Help organize code logically
✔️ Can return a value or perform actions without returning

// Method structure
[access-modifier] [static] return-type methodName(parameters) {
// method body
return value; // if not void
}


---

## 🔹 Method Components
### 1. Simple Method Example
public class Calculator {

// Method without return (void)
public static void greet() {
System.out.println("Welcome to Calculator!");
}

// Method with return
public static int add(int a, int b) {
return a + b;
}

public static void main(String[] args) {
greet(); // Calling void method
int sum = add(5, 3); // Calling return method
System.out.println("Sum: " + sum);
}
}


### 2. Method Parameters
public static void printUserInfo(String name, int age) {
System.out.println("Name: " + name);
System.out.println("Age: " + age);
}


### 3. Return Values
public static boolean isAdult(int age) {
return age >= 18;
}


---

## 🔹 Method Overloading
Multiple methods with same name but different parameters.

public class MathOperations {

// Version 1: Add two integers
public static int add(int a, int b) {
return a + b;
}

// Version 2: Add three integers
public static int add(int a, int b, int c) {
return a + b + c;
}

// Version 3: Add two doubles
public static double add(double a, double b) {
return a + b;
}

public static void main(String[] args) {
System.out.println(add(2, 3)); // 5
System.out.println(add(2, 3, 4)); // 9
System.out.println(add(2.5, 3.7)); // 6.2
}
}


---

## 🔹 Recursion
A method that calls itself.

### 1. Factorial Example
public static int factorial(int n) {
if (n == 0 || n == 1) {
return 1;
}
return n * factorial(n - 1);
}


### 2. Fibonacci Sequence
public static int fibonacci(int n) {
if (n <= 1) {
return n;
}
return fibonacci(n-1) + fibonacci(n-2);
}


---

## 🔹 Variable Scope
Variables have different scope depending on where they're declared.

public class ScopeExample {
static int classVar = 10; // Class-level variable

public static void methodExample() {
int methodVar = 20; // Method-level variable
System.out.println(classVar); // Accessible
System.out.println(methodVar); // Accessible
}

public static void main(String[] args) {
int mainVar = 30; // Block-level variable
System.out.println(classVar); // Accessible
// System.out.println(methodVar); // ERROR - not accessible
System.out.println(mainVar); // Accessible
}
}


---

## 🔹 Practical Example: Temperature Converter
public class TemperatureConverter {

public static double celsiusToFahrenheit(double celsius) {
return (celsius * 9/5) + 32;
}

public static double fahrenheitToCelsius(double fahrenheit) {
return (fahrenheit - 32) * 5/9;
}

public static void main(String[] args) {
System.out.println("20°C to Fahrenheit: " + celsiusToFahrenheit(20));
System.out.println("68°F to Celsius: " + fahrenheitToCelsius(68));
}
}


---

## 🔹 Best Practices for Methods
1. Single Responsibility Principle - Each method should do one thing
2. Descriptive Names - Use verbs (calculateTotal, validateInput)
3. Limit Parameters - Ideally 3-4 parameters max
4. Proper Indentation - Keep code readable
5. Documentation - Use JavaDoc comments
1
Data Analytics
# 📚 Java Programming Language – Part 2/10: Operators & Control Flow #Java #Programming #OOP #ControlFlow #Coding Welcome to Part 2 of our Java series! Today we'll explore operators and control flow structures. --- ## 🔹 Java Operators Overview Java provides…
/**
* Calculates the area of a rectangle
* @param length the length of rectangle
* @param width the width of rectangle
* @return area of the rectangle
*/
public static double calculateRectangleArea(double length, double width) {
return length * width;
}


---

### **📌 What's Next?
In **Part 4
, we'll cover:
➡️ Object-Oriented Programming (OOP) Concepts
➡️ Classes and Objects
➡️ Constructors

#JavaMethods #OOP #LearnProgramming 🚀
Please open Telegram to view this post
VIEW IN TELEGRAM
Data Analytics
# 📚 Java Programming Language – Part 3/10: Methods & Functions #Java #Programming #Methods #Functions #OOP Welcome to Part 3 of our Java series! Today we'll dive into methods - the building blocks of Java programs. --- ## 🔹 What are Methods in Java? Methods…
# 📚 Java Programming Language – Part 4/10: Object-Oriented Programming (OOP) Basics
#Java #OOP #Programming #Classes #Objects

Welcome to Part 4 of our Java series! Today we'll explore the fundamentals of Object-Oriented Programming in Java.

---

## 🔹 What is OOP?
Object-Oriented Programming is a paradigm based on:
- Objects (instances of classes)
- Classes (blueprints for objects)
- 4 Main Principles:
- Encapsulation
- Inheritance
- Polymorphism
- Abstraction

---

## 🔹 Classes and Objects

### 1. Class Definition
public class Car {
// Fields (attributes)
String brand;
String model;
int year;

// Method
public void startEngine() {
System.out.println("Engine started!");
}
}


### 2. Creating Objects
public class Main {
public static void main(String[] args) {
// Creating an object
Car myCar = new Car();

// Accessing fields
myCar.brand = "Toyota";
myCar.model = "Corolla";
myCar.year = 2022;

// Calling method
myCar.startEngine();
}
}


---

## 🔹 Constructors
Special methods called when an object is instantiated.

### 1. Default Constructor
public class Car {
// Default constructor (created automatically if none exists)
public Car() {
}
}


### 2. Parameterized Constructor
public class Car {
String brand;
String model;
int year;

public Car(String brand, String model, int year) {
this.brand = brand;
this.model = model;
this.year = year;
}
}

// Usage:
Car myCar = new Car("Toyota", "Corolla", 2022);


### 3. Constructor Overloading
public class Car {
// Constructor 1
public Car() {
this.brand = "Unknown";
}

// Constructor 2
public Car(String brand) {
this.brand = brand;
}
}


---

## 🔹 Encapsulation
Protecting data by making fields private and providing public getters/setters.

public class BankAccount {
private double balance; // Private field

// Public getter
public double getBalance() {
return balance;
}

// Public setter with validation
public void deposit(double amount) {
if (amount > 0) {
balance += amount;
}
}
}


---

## 🔹 'this' Keyword
Refers to the current object instance.

public class Person {
private String name;

public Person(String name) {
this.name = name; // 'this' distinguishes field from parameter
}
}


---

## 🔹 Practical Example: Student Management System
public class Student {
private String id;
private String name;
private double gpa;

public Student(String id, String name) {
this.id = id;
this.name = name;
}

// Getters and setters
public String getId() { return id; }
public String getName() { return name; }
public double getGpa() { return gpa; }

public void updateGpa(double newGpa) {
if (newGpa >= 0 && newGpa <= 4.0) {
this.gpa = newGpa;
}
}

public void printInfo() {
System.out.printf("ID: %s, Name: %s, GPA: %.2f\n",
id, name, gpa);
}
}

// Usage:
Student student1 = new Student("S1001", "Ahmed");
student1.updateGpa(3.75);
student1.printInfo();


---

## 🔹 Static vs Instance Members

| Feature | Static | Instance |
|---------------|---------------------------|---------------------------|
| Belongs to | Class | Object |
| Memory | Once per class | Each object has its own |
| Access | ClassName.member | object.iss.onember |
| Example | Math.PI | student.getName() |

public class Counter {
static int count = 0; // Shared across all instances
int instanceCount = 0; // Unique to each object

public Counter() {
count++;
instanceCount++;
}

public static void printCount() {
System.out.println("Total count: " + count);
}
}


---