Chapter 1 , from a C/C++ programmer’s point of view, introduced the PHP basic syntax, variables, constants, variables and constants scope, operator, operator precedence, variable functions, conditional statements, etc for Crash Course.
1. Basic Syntax
- XML style (recommended):
<?php echo '<p>Order processed.</p>'; ?>
- Short style (need to enable short_open_tag setting):
<? echo '<p>Order processed.</p>'; ?>
- Script style:
<script language='php'> echo '<p>Order processed.</p>'; </script>
- ASP style (Need to enable asp_tags setting, not recommended):
<% echo '<p>Order processed.</p>'; %>
- Multiline comments: /*…*/
- single-line comments: //… or #…
Identifiers Naming Rules
- Variables must start with $
- Identifiers can be of any length and can consist of letters, numbers, and under-scores
- Identifiers cannot begin with a digit
- In PHP, identifiers are case sensitive
- Function names are not case sensitive, and a variable can have the same name as a function (not make sense enough)
PHP supports the following basic data types: Integer, Float, String, Boolean, Array, Object.
Two special types are also available: NULL and Resource.
PHP is called weakly typed, or dynamically typed language. So when you needn’t explicitly specify the type when you declare a variable, PHP changes the variable type according to what is stored in it at any given time. In addition, the variables need not declare a variable before using it.
Variable variables enable you to change the name of a variable dynamically.
$varname = 'tireqty';
$$varname = 5;
This is exactly equivalent to
$tireqty = 5;
Constants can store only boolean, integer, float, or string data.
You needn’t type a “$” before a constant name.
4. Variable and Constant Scope
- Built-in superglobal variables are visible everywhere within a script.
- Constants, once declared, are always visible globally; that is, they can be used inside and outside functions.
- Global variables declared in a script are visible throughout that script, but not inside functions except you declare global refer:
$a = 1;
$b = 2;
global $a, $b; //global refer
$b = $a + $b;
echo $b; //Output result is 3
- Variables created inside functions are local to the function and cease to exist when the function terminates.
- Variables created inside functions and declared as static are invisible from outside the function but keep their value between one execution of the function and the next.
Including “+,-,*,/,% (Modulus) “.
“.” String concatenation operator adds two strings and generates and stores a result.
Assignment and Combined Assignment Operators
Including “=,+=,-=,*=,/=,%=,.=”, similar to the C language.
Self-increment and Self-decrement Operators
Including “++,- -”, like the C language, just understand the difference between $a++ and ++a$.
$a = 5;
$b = &$a;
$a = 7; // $a and $b are now both 7
Note that “7″ == 7 return TRUE, while 7 === “7″ returns False, because the identical operator (===), which returns true only if the two operands are both equal and of the same type.
Including “!, &&, ||, and, or, xor”, similar to the C language.
Including “~, &, |, ^, >>, <<”, similar to the C language.
- “,,new,->,(?:)” similar to the C language.
- “@” The error suppression operator (@) can be used in front of any expression.
- “` `” The execution operator is really a pair of operators—a pair of backticks (“) , PHP attempts to execute whatever is contained between the backticks as a command at the server’s command line.
6. Operator Precedence
No need to remember precedence and associativity, you can use parentheses when you are uncertain.
7. Variables and Types Related Functions
- string gettype(mixed var); //Returns a string containing the type name
- bool settype(mixed var, string type); //change the type of the var
- bool is_array(mixed var); //Checks whether the variable is an array
- bool is_long(mixed var); / is_int() / is_integer() //Checks whether the variable is an integer
- bool is_double(mixed var); / is_float() / is_real() //Checks whether the variable is a float
- bool is_scalar(mixed var); //Checks whether the variable is a scalar, that is, an integer, boolean, string, or float
- bool is_callable(mixed var); //Checks whether the variable is the name of a valid function
- There are similar functions like is_string(), is_bool(), is_object(), is_resource(), is_null() etc.
- bool isset ( mixed var [, mixed var [, ...]]); //Returns true if it exists and false otherwise
- void unset ( mixed var [, mixed var [, ...]]); //Gets rid of the variable it is passed
- bool empty ( mixed var [, mixed var [, ...]]); //Checks to see whether a variable exists and has a nonempty, nonzero value
8. Conditional statements
All these conditional and loop statements are similar to other programming languages.