PHP는 Rasmus Lerdorf가 1995 년에 만든 서버 측 스크립팅 언어입니다.
PHP는 널리 사용되는 오픈 소스 범용 스크립팅 언어로 특히 웹 개발에 적합하며 HTML에 포함 할 수 있습니다.
PHP는 무엇에 사용됩니까?
2018 년 10 월 현재 PHP는 서버 측 언어가 알려진 웹 사이트의 80 %에서 사용됩니다. 일반적으로 웹 페이지 콘텐츠를 동적으로 생성하기 위해 웹 사이트에서 사용됩니다. 사용 사례는 다음과 같습니다.
- 웹 사이트 및 웹 애플리케이션 (서버 측 스크립팅)
- 명령 줄 스크립팅
- 데스크탑 (GUI) 애플리케이션
일반적으로 웹 페이지 컨텐츠를 동적으로 생성하기 위해 첫 번째 양식에서 사용됩니다. 예를 들어 블로그 웹 사이트가있는 경우 데이터베이스에서 블로그 게시물을 검색하여 표시하는 PHP 스크립트를 작성할 수 있습니다. PHP 스크립트의 다른 용도는 다음과 같습니다.
- 양식 데이터에서 사용자 입력 처리 및 저장
- 웹 사이트 쿠키 설정 및 작업
- 웹 사이트의 특정 페이지에 대한 액세스 제한
가장 큰 소셜 네트워킹 플랫폼 인 Facebook은 PHP를 사용하여 작성되었습니다.
PHP는 어떻게 작동합니까?
모든 PHP 코드는 로컬 컴퓨터가 아닌 웹 서버에서만 실행됩니다. 예를 들어, 웹 사이트에서 양식을 작성하여 제출하거나 PHP로 작성된 웹 페이지 링크를 클릭하면 실제 PHP 코드가 컴퓨터에서 실행되지 않습니다. 대신 웹 페이지에 대한 양식 데이터 또는 요청이 웹 서버로 전송되어 PHP 스크립트에 의해 처리됩니다. 그런 다음 웹 서버는 처리 된 HTML을 사용자에게 다시 전송하고 (이름의 '하이퍼 텍스트 전 처리기'가 나오는 곳) 웹 브라우저가 결과를 표시합니다. 이러한 이유로 웹 사이트의 PHP 코드는 볼 수 없으며 PHP 스크립트가 생성 한 결과 HTML 만 볼 수 있습니다.
이것은 아래에 설명되어 있습니다.

PHP는 통역 언어입니다. 즉, 소스 코드를 변경할 때 먼저 소스 코드를 바이너리 형식으로 컴파일 할 필요없이 이러한 변경 사항을 즉시 테스트 할 수 있습니다. 컴파일 단계를 건너 뛰면 개발 프로세스가 훨씬 빨라집니다.
PHP 코드는
and
?>
tags and can then be embedded into HTML.
Installation
PHP can be installed with or without a web server.
GNU/Linux
On Debian based GNU/Linux distros, you can install by :
sudo apt install php
On Centos 6 or 7 you can install by :
sudo yum install php
After installing you can run any PHP files by simply doing this in terminal :
php file.php
You can also install a localhost server to run PHP websites. For installing Apache Web Server :
sudo apt install apache2 libapache2-mod-php
Or you can also install PHP, MySQL & Web-server all by installing
XAMPP (free and open-source cross-platform web server solution stack package) or similar packages like WAMP
PHP Frameworks
Since writing the whole code for a website is not really practical/feasible for most projects, most developers tend to use frameworks for the web development. The advantage of using a framework is that
You don't have to reinvent the wheel every time you create a project, a lot of the nuances are already taken care for you
They are usually well-structured so that it helps in the separation of concerns
Most frameworks tend the follow the best practices of the language
A lot of them follow the MVC (Model-View-Controller) pattern so that it separates the presentation layer from logic
Popular frameworks
CodeIgniter
Laravel
Symfony
Zend
CakePHP
FuelPHP
Slim
Yii 2
Basic Syntax
PHP scripts can be placed anywhere in a document, and always start with
and end with
?>
. Also, PHP statements end with a semicolon (;).
Here's a simple script that uses the built-in
echo
function to output the text "The Best PHP Examples" to the page:
Developer News
The output of that would be:
Developer News The Best PHP Examples
Comments
Comments
PHP supports several ways of commenting:
Single-line comments:
Multi-line comments:
Case Sensitivity
Case Sensitivity
All keywords, classes, and functions are NOT case sensitive.
In the example below, all three echo statements are valid:
"; echo "Welcome to Developer News
"; EcHo "Enjoy all of the ad-free articles
"; ?>
그러나 모든 변수 이름은 대소 문자를 구분합니다. 아래 예에서는 첫 번째 문만 유효하며 $name
변수 값을 표시합니다 . $NAME
그리고 $NaMe
두 가지 변수로서 취급된다 :
"; echo "Hi! My name is " . $NAME . "
"; echo "Hi! My name is " . $NaMe . "
"; ?>
변수
변수는 PHP 프로그램에 정보를 저장하는 주요 방법입니다.
All variables in PHP start with a leading dollar sign like $variable_name
. To assign a variable, use the =
operator, with the name of the variable on the left and the expression to be evaluated on the right.
Syntax:
Rules for PHP variables
- Variable declarations starts with
$
, followed by the name of the variable - Variable names can only start with an upper or lowercase letter or an underscore (
_
) - Variable names can only contain letters, numbers, or underscores (A-z, 0-9, and
_
). Other special characters like+ - % ( ) . &
are invalid - Variable names are case sensitive
Some examples of allowed variable names:
- $my_variable
- $anotherVariable
- $the2ndVariable
Predefined Variables
PHP has several special keywords that, while they are "valid" variable names, cannot be used for your variables. The reason for this is that the language itself has already defined those variables and they have are used for special purposes. Several examples are listed below, for a complete list see the PHP documentation site.
$this
$_GET
$_POST
$_SERVER
$_FILES
PHP Data Types
Variables can store data of different types such as:
- String ("Hello")
- Integer (5)
- Float (also called double) (1.0)
- Boolean ( 1 or 0 )
- Array ( array("I", "am", "an", "array") )
- Object
- NULL
- Resource
Strings
A string is a sequence of characters. It can be any text inside quotes (single or double):
$x = "Hello!"; $y = 'Hello!';
Integers
An integer data type is a non-decimal number between -2,147,483,648 and 2,147,483,647.
Rules for integers:
- Integers must have at least one digit
- Integers must not have a decimal point
- Integers can be either positive or negative
$x = 5;
Floats
A float, or floating point number, is a number with a decimal point.
$x = 5.01;
Booleans
A Boolean represents two possible states: TRUE or FALSE. Booleans are often used in conditional testing.
$x = true; $y = false;
Arrays
An array stores multiple values in one single variable.
$colors = array("Magenta", "Yellow", "Cyan");
NULL
Null is a special data type that can only have the value null
. Variables can be declared with no value or emptied by setting the value to null
. Also, if a variable is created without being assigned a value, it is automatically assigned null
.
Classes and Objects
A class is a data structure useful for modeling things in the real world, and can contain properties and methods. Objects are instances a class, and are a convenient way to package values and functions specific to a class.
model = "Tesla"; } } // create an object $Lightning = new Car(); // show object properties echo $Lightning->model; ?>
PHP Resource
A resource is a special variable, holding a reference to an external resource. Resources are created and used by special functions. You can use getresourcetype() function to see resource type.
doc) . "\n";
Strings
A string is series of characters. These can be used to store any textual information in your application.
There are a number of different ways to create strings in PHP.
Single Quotes
Simple strings can be created using single quotes.
$name = 'Joe';
To include a single quote in the string, use a backslash to escape it.
$last_name = 'O\'Brian';
Double Quotes
You can also create strings using double quotes.
$name = "Joe";
To include a double quote, use a backslash to escape it.
$quote = "Mary said, \"I want some toast,\" and then ran away.";
Double quoted strings also allow escape sequences. These are special codes that put characters in your string that represent typically invisible characters. Examples include newlines \n
, tabs \t
, and actual backslashes \\
.
You can also embed PHP variables in double quoted strings to have their values added to the string.
$name = 'Joe'; $greeting = "Hello $name"; // now contains the string "Hello Joe"
String Functions
Find the length of a string
The strlen()
function returns the length of a string.
Find the number of words in a string
The strwordcount()
function returns the number of words in a string:
Reverse a String
The strrev()
function reverses a string:
Search for text within a string
The strpos()
function searches for text in a string:
Replace Text Within a String
The str_replace()
function replaces text in a string:
Constants
Constants are a type of variable in PHP. The define()
function to set a constant takes three arguments - the key name, the key's value, and a Boolean (true or false) which determines whether the key's name is case-insensitive (false by default). A constant's value cannot be altered once it is set. It is used for values which rarely change (for example a database password OR API key).
Scope
It is important to know that unlike variables, constants ALWAYS have a global scope and can be accessed from any function in the script.
? // Output: Learn to code and help nonprofits
Also, when you are creating classes, you can declare your own constants.
class Human { const TYPE_MALE = 'm'; const TYPE_FEMALE = 'f'; const TYPE_UNKNOWN = 'u'; // When user didn't select his gender ............. }
Note: If you want to use those constants inside the Human
class, you can refer them as self::CONSTANT_NAME
. If you want to use them outside the class, you need to refer them as Human::CONSTANT_NAME
.
Operators
PHP contains all the normal operators one would expect to find in a programming language.
A single “=” is used as the assignment operator and a double “==” or triple “===” is used for comparison.
The usual “” can also be used for comparison and “+=” can be used to add a value and assign it at the same time.
Most notable is the use of the “.” to concatenate strings and “.=” to append one string to the end of another.
New to PHP 7.0.X is the Spaceship operator (). The spaceship operator returns -1, 0 or 1 when $a is less than, equal to, or greater than $b.
If / Else / Elseif Statements
If / Else is a conditional statement where depending on the truthiness of a condition, different actions will be performed.
Note: The
{}
brackets are only needed if the condition has more than one action statement; however, it is best practice to include them regardless.
If Statement
Note: You can nest as many statements in an "if" block as you'd like; you are not limited to the amount in the examples.
If/Else Statement
If/Else Statement
Note: The
else
statement is optional.
If/Elseif/Else Statement
If/Elseif/Else Statement
Note:
elseif
should always be written as one word.
Nested If/Else Statement
Nested If/Else Statement
Multiple Conditions
Multiple Conditions
Multiple conditions can be used at once with the "or" (||), "xor", and "and" (&&) logical operators.
For instance:
Note: It's a good practice to wrap individual conditions in parens when you have more than one (it can improve readability).
Alternative If/Else Syntax
Alternative If/Else Syntax
There is also an alternative syntax for control structures
if (condition1): statement1; else: statement5; endif;
Ternary Operators
Ternary Operators
Ternary operators are basically single line if / else statements.
Suppose you need to display "Hello (user name)" if a user is logged in, and "Hello guest" if they're not logged in.
If / Else statement:
if($user == !NULL { $message = 'Hello '. $user; } else { $message = 'Hello guest'; }
Ternary operator:
$message = 'Hello '.($user == !NULL ? $user : 'Guest');
Switch
Switch
In PHP, the
Switch
statement is very similar to the JavaScript Switch
statement (See the JavaScript Switch Guide to compare and contrast). It allows rapid case testing with a lot of different possible conditions, the code is also more readable.
Break
Break
The
break;
statement exits the switch and goes on to run the rest of the application's code. If you do not use the break;
statement you may end up running multiple cases and statements, sometimes this may be desired in which case you should not include the break;
statement.
An example of this behavior can be seen below:
If $i = 1, the value of $j would be:
1
If $i = 2, the value of $j would be:
2
While break can be omitted without causing fall-through in some instances (see below), it is generally best practice to include it for legibility and safety (see below):
Example
Example
Output
Output
if case is 1 > Dice show number One. if case is 2 > Dice show number Two. if case is 3 > Dice show number Three or Four. if case is 4 > Dice show number Three or Four. if case is 5 > FiveSixDice show number Six. if case is 6 > SixDice show number Six. if none of the above > Dice show number unknown.
Loops
Loops
When you need to repeat a task multiple times, you can use a loop instead of adding the same code over and over again.
Using a
break
within the loop can stop the loop execution.
For loop
For loop
Loop through a block of code a specific number of times.
While loop
While loop
Loop through a block of code if a condition is true.
= 0) { echo "The index is ".$index.".\n"; $index--; } ?> /* Output: The index is 10. The index is 9. The index is 8. The index is 7. The index is 6. The index is 5. The index is 4. The index is 3. The index is 2. The index is 1. The index is 0. */
Do...While loop
Do...While loop
Loop through a block of code once and continue to loop if the condition is true.
0); ?> /* Output: Index: 3. Index: 2. Index: 1. */
Foreach loop
Foreach loop
Loop through a block of code for each value within an array.
Functions
Functions
A function is a block of statements that can be used repeatedly in a program.
Simple Function + Call
Simple Function + Call
function say_hello() { return "Hello!"; } echo say_hello();
Simple Function + Parameter + Call
Simple Function + Parameter + Call
function say_hello($friend) { return "Hello " . $friend . "!"; } echo say_hello('Tommy');
strtoupper - Makes all Chars BIGGER AND BIGGER!
strtoupper - Makes all Chars BIGGER AND BIGGER!
function makeItBIG($a_lot_of_names) { foreach($a_lot_of_names as $the_simpsons) { $BIG[] = strtoupper($the_simpsons); } return $BIG; } $a_lot_of_names = ['Homer', 'Marge', 'Bart', 'Maggy', 'Lisa']; var_dump(makeItBIG($a_lot_of_names));
Arrays
Arrays
Arrays are like regular variables, but hold multiple values in an ordered list. This can be useful if you have multiple values that are all related to each other, like a list of student names or a list of capital cities.
Types Of Arrays
Types Of Arrays
In PHP, there are two types of arrays: Indexed arrays and Associative arrays. Each has their own use and we'll look at how to create these arrays.
Indexed Array
Indexed Array
An indexed array is a list of ordered values. Each of these values in the array is assigned an index number. Indexes for arrays always start at
0
for the first value and then increase by one from there.
$shopping_list[0]
would return "eggs"
, $shopping_list[1]
would return "milk"
, and $shopping_list[2]
would return "cheese"
.
Associative Array
Associative Array
An associative array is a list of values that are accessed via a key instead of index numbers. The key can be any value but it must be unique to the array.
83, "Frank" => "93", "Benji" => "90"); ?>
$student_scores['Joe']
would return 83
, $student_scores['Frank']
would return 93
, $student_scores['Benji']
would return 90
.
Multidimensional Array
Multidimensional Array
A multidimensional array is an array that contains other arrays. This lets you create complex data structures that can model a very complex group of data.
"Joe", "score" => 83, "last_name" => "Smith"), array("first_name" => "Frank", "score" => 92, "last_name" => "Barbson"), array("first_name" => "Benji", "score" => 90, "last_name" => "Warner") ); ?>
Now you can get the first student's
first_name
with:
$students[0]['first_name']
Get The Length of an Array - The count() Function
Get The Length of an Array - The count() Function
The
count()
function is used to return the length (the number of elements) of an array:
Sorting Arrays
Sorting Arrays
PHP offers several functions to sort arrays. This page describes the different functions and includes examples.
sort()
sort()
The
sort()
function sorts the values of an array in ascending alphabetical/numerical order (E.g. A, B, C, D, E... 5, 4, 3, 2, 1...)
Output:
Array ( [0] => camp [1] => code [2] => free )
rsort()
rsort()
The
rsort()
functions sort the values of an array in descending alphabetical/numerical order (E.g. Z, Y, X, W, V... 5, 4, 3, 2, 1...)
Output:
Array ( [0] => free [1] => code [2] => camp )
asort()
asort()
The
asort()
function sorts an associative array, by it's values, in ascending alphabetical/numerical order (E.g. A, B, C, D, E... 5, 4, 3, 2, 1...)
"free", "one"=>"code", "two"=>"camp"); asort($freecodecamp); print_r($freecodecamp); ?>
Output:
Array ( [two] => camp [one] => code [zero] => free )
ksort()
ksort()
The
ksort()
function sorts an associative array, by it's keys, in ascending alphabetical/numerical order (E.g. A, B, C, D, E... 5, 4, 3, 2, 1...)
"free", "one"=>"code", "two"=>"camp"); ksort($freecodecamp); print_r($freecodecamp); ?>
Output:
Array ( [one] => code [two] => camp [zero] => free )
arsort()
arsort()
The
arsort()
function sorts an associative array, by it's values, in descending alphabetical/numerical order (E.g. Z, Y, X, W, V... 5, 4, 3, 2, 1...)
"free", "one"=>"code", "two"=>"camp"); arsort($freecodecamp); print_r($freecodecamp); ?>
Output:
Array ( [zero] => free [one] => code [two] => camp )
krsort()
krsort()
The
krsort()
function sorts an associative array, by it's keys in descending alphabetical/numerical order (E.g. Z, Y, X, W, V... 5, 4, 3, 2, 1...)
"free", "one"=>"code", "two"=>"camp"); krsort($freecodecamp); print_r($freecodecamp); ?>
Output:
Array ( [zero] => free [two] => camp [one] => code )
Forms
Forms
Forms are a way for users to enter data or select data from the webpage. Forms can store data as well as allow the information to be retrieved for later use.
To make a form to work in languages like PHP you need some basic attributes in html. In most cases PHP uses 'post' and 'get' super global variables to get the data from form.
The 'method' attribute here tell the form the way to send the form data. Then the 'action' attribute tell where to send form data to process. Now the 'name' attribute is very important and it should be unique because in PHP the value of the name work as the identity of that input field.
Checking Required Inputs
PHP has a few functions to check if the required inputs have been met. Those functions are isset
, empty
, and is_numeric
.
Checking form to make sure its set
The isset
checks to see if the field has been set and isn't null. Example:
$firstName = $_GET['firstName'] if(isset($firstName)){ echo "firstName field is set". "
"; } else{ echo "The field is not set."."
"; }
Handling Form Input
One can get form inputs with global variables $POST and $GET.
$_POST["firstname"] or $_GET['lastname']