PHP基础语法
2017-03-06 13:46
127 查看
打印log信息:
1,php标记:
当解析一个文件时,PHP 会寻找起始和结束标记,也就是
PHP 也允许使用短标记
从 HTML 中分离
PHP 变量
与代数类似,可以给 PHP 变量赋予某个值(x=5)或者表达式(z=x+y)。
变量可以是很短的名称(如 x 和 y)或者更具描述性的名称(如 age、carname、totalvolume)。
PHP 变量规则:
备注: ASCII 字符从 127 到 255(0x7f-0xff)也是可以的。
$this 是一个特殊的变量,它不能被赋值。
变量默认总是传值赋值
引用赋值:使用引用赋值,简单地将一个 & 符号加到将要赋值的变量前(源变量)
global 关键字
在方法中使用使用全局变量需要用global进行声明。
或者用通过 $GLOBALS 替代 global
GLOBALS是一个超全局变量,GLOBALS 是一个关联数组,每一个变量为一个元素,键名对应变量名,值对应变量的内容。
使用静态变量,在方法内部使用静态变量
常量
常量和变量有如下不同:
1,可以用 define() 函数来定义常量
2,使用关键字 const 定义常量
类型
PHP 支持 8 种原始数据类型。
四种标量类型:
两种复合类型:
最后是两种特殊类型:
为了确保代码的易读性,本手册还介绍了一些伪类型:
以及伪变量 $…。
可能还会读到一些关于“双精度(double)”类型的参考。实际上 double 和 float 是相同的,由于一些历史的原因,这两个名称同时存在。
变量的类型通常不是由程序员设定的,确切地说,是由 PHP 根据该变量使用的上下文在运行时决定的。
赋值运算符
注意:
自 PHP 5 起,new 运算符自动返回一个引用,因此再对 new 的结果进行引用赋值在 PHP 5.3 以及以后版本中会发出一条 E_DEPRECATED 错误信息,在之前版本会发出一条 E_STRICT 错误信息。
比较运算符
错误控制运算符
PHP 支持一个错误控制运算符:@。当将其放置在一个 PHP 表达式之前,该表达式可能产生的任何错误信息都被忽略掉。
执行运算符
字符串运算符
有两个字符串(string)运算符。第一个是连接运算符(“.”),它返回其左右参数连接后的字符串。第二个是连接赋值运算符(“.=”),它将右边参数附加到左边的参数之后。
数组运算符
类型运算符
instanceof 用于确定一个 PHP 变量是否属于某一类 class 的实例:
echo 速度最快 print 基本类型 print_r 复杂类型比如:数组和对象
1,php标记:
<?php 和 ?>
当解析一个文件时,PHP 会寻找起始和结束标记,也就是
<?php 和 ?>,这告诉 PHP 开始和停止解析二者之间的代码。此种解析方式使得 PHP 可以被嵌入到各种不同的文档中去,而任何起始和结束标记之外的部分都会被 PHP 解析器忽略。
PHP 也允许使用短标记
<? 和 ?>,但不鼓励使用。只有通过激活 php.ini 中的 short_open_tag 配置指令或者在编译 PHP 时使用了配置选项 –enable-short-tags 时才能使用短标记。
从 HTML 中分离
<?php if ($expression == true): ?> This will show if the expression is true. <?php else: ?> Otherwise this will show. <?php endif; ?>
PHP 变量
与代数类似,可以给 PHP 变量赋予某个值(x=5)或者表达式(z=x+y)。
变量可以是很短的名称(如 x 和 y)或者更具描述性的名称(如 age、carname、totalvolume)。
PHP 变量规则:
变量以 $ 符号开始,后面跟着变量的名称 变量名必须以字母或者下划线字符开始 变量名只能包含字母数字字符以及下划线(A-z、0-9 和 _ ) 变量名不能包含空格 变量名是区分大小写的($y 和 $Y 是两个不同的变量)
备注: ASCII 字符从 127 到 255(0x7f-0xff)也是可以的。
$this 是一个特殊的变量,它不能被赋值。
变量默认总是传值赋值
引用赋值:使用引用赋值,简单地将一个 & 符号加到将要赋值的变量前(源变量)
<?php $foo = 'Bob'; // 将 'Bob' 赋给 $foo $bar = &$foo; // 通过 $bar 引用 $foo 代表是同一个对象 $bar = "My name is $bar"; // 修改 $bar 变量 echo $bar; echo $foo; // $foo 的值也被修改 ?>
global 关键字
在方法中使用使用全局变量需要用global进行声明。
<?php $a = 1; $b = 2; function Sum() { global $a, $b; $b = $a + $b; } Sum(); echo $b; ?>
或者用通过 $GLOBALS 替代 global
GLOBALS是一个超全局变量,GLOBALS 是一个关联数组,每一个变量为一个元素,键名对应变量名,值对应变量的内容。
<?php $a = 1; $b = 2; function Sum() { $GLOBALS['b'] = $GLOBALS['a'] + $GLOBALS['b']; } Sum(); echo $b; ?>
使用静态变量,在方法内部使用静态变量
<?php function test() { static $a = 0; echo $a; $a++; } ?>
现在,变量 $a 仅在第一次调用 test() 函数时被初始化,之后每次调用 test() 函数都会输出 $a 的值并加一。
常量
常量和变量有如下不同:
常量前面没有美元符号($); 常量只能用 define() 函数定义,而不能通过赋值语句; 常量可以不用理会变量的作用域而在任何地方定义和访问; 常量一旦定义就不能被重新定义或者取消定义; 常量的值只能是标量。
1,可以用 define() 函数来定义常量
// 合法的常量名 define("FOO", "something"); define("FOO2", "something else"); define("FOO_BAR", "something more"); echo FOO;// 输出something
2,使用关键字 const 定义常量
<?php // 以下代码在 PHP 5.3.0 后可以正常工作 const CONSTANT = 'Hello World'; echo CONSTANT; ?>
类型
PHP 支持 8 种原始数据类型。
四种标量类型:
boolean(布尔型) integer(整型) float(浮点型,也称作 double) string(字符串)
两种复合类型:
array(数组) object(对象)
最后是两种特殊类型:
resource(资源) NULL(无类型)
为了确保代码的易读性,本手册还介绍了一些伪类型:
mixed(混合类型) number(数字类型) callback(回调类型)
以及伪变量 $…。
可能还会读到一些关于“双精度(double)”类型的参考。实际上 double 和 float 是相同的,由于一些历史的原因,这两个名称同时存在。
变量的类型通常不是由程序员设定的,确切地说,是由 PHP 根据该变量使用的上下文在运行时决定的。
赋值运算符
基本的赋值运算符是“=” 引用赋值,使用“$var = &$othervar;”语法。
<?php 基本赋值 $a = ($b = 4) + 5; // $a 现在成了 9,而 $b 成了 4。 引用赋值 $a = 3; $b = &$a; // $b 是 $a 的引用 print "$a\n"; // 输出 3 print "$b\n"; // 输出 3 $a = 4; // 修改 $a print "$a\n"; // 输出 4 print "$b\n"; // 也输出 4,因为 $b 是 $a 的引用,因此也被改变 ?>
注意:
自 PHP 5 起,new 运算符自动返回一个引用,因此再对 new 的结果进行引用赋值在 PHP 5.3 以及以后版本中会发出一条 E_DEPRECATED 错误信息,在之前版本会发出一条 E_STRICT 错误信息。
比较运算符
$a <> $b 不等 TRUE,如果类型转换后 $a 不等于 $b。 $a <=> $b 结合比较运算符 当$a小于、等于、大于than $b时 分别返回一个小于、等于、大于0的integer 值。 PHP7开始提供. $a ?? $b ?? $c NULL 合并操作符 从左往右第一个存在且不为 NULL 的操作数。如果都没有定义且不为 NULL,则返回 NULL。PHP7开始提供。
错误控制运算符
PHP 支持一个错误控制运算符:@。当将其放置在一个 PHP 表达式之前,该表达式可能产生的任何错误信息都被忽略掉。
<?php /* Intentional file error */ $my_file = @file ('non_existent_file') or die ("Failed opening file: error was '$php_errormsg'"); // this works for any expression, not just functions: $value = @$cache[$key]; // will not issue a notice if the index $key doesn't exist. ?>
执行运算符
PHP 支持一个执行运算符:反引号(``)。注意这不是单引号!PHP 将尝试将反引号中的内容作为 shell 命令来执行,并将其输出信息返回(即,可以赋给一个变量而不是简单地丢弃到标准输出)。使用反引号运算符“`”的效果与函数 shell_exec() 相同
<?php $output = `ls -al`; echo "<pre>$output</pre>"; ?>
字符串运算符
有两个字符串(string)运算符。第一个是连接运算符(“.”),它返回其左右参数连接后的字符串。第二个是连接赋值运算符(“.=”),它将右边参数附加到左边的参数之后。
<?php $a = "Hello "; $b = $a . "World!"; // now $b contains "Hello World!" $a = "Hello "; $a .= "World!"; // now $a contains "Hello World!" ?>
数组运算符
例子 | 名称 | 结果 |
---|---|---|
$a + $b | 联合 | $a 和 $b 的联合。 |
$a == $b | 相等 | 如果 $a 和 $b 具有相同的键/值对则为 TRUE。 |
$a === $b | 全等 | 如果 $a 和 $b 具有相同的键/值对并且顺序和类型都相同则为 TRUE。 |
$a != $b | 不等 | 如果 $a 不等于 $b 则为 TRUE。 |
$a <> $b | 不等 | 如果 $a 不等于 $b 则为 TRUE。 |
$a !== $b | 不全等 | 如果 $a 不全等于 $b 则为 TRUE。 |
+ 运算符把右边的数组元素附加到左边的数组后面,两个数组中都有的键名,则只用左边数组中的,右边的被忽略。
<?php $a = array("a" => "apple", "b" => "banana"); $b = array("a" => "pear", "b" => "strawberry", "c" => "cherry"); $c = $a + $b; // Union of $a and $b echo "Union of \$a and \$b: \n"; var_dump($c); $c = $b + $a; // Union of $b and $a echo "Union of \$b and \$a: \n"; var_dump($c); $a += $b; // Union of $a += $b is $a and $b echo "Union of \$a += \$b: \n"; var_dump($a); ?>
类型运算符
instanceof 用于确定一个 PHP 变量是否属于某一类 class 的实例:
<?php class MyClass { } class NotMyClass { } $a = new MyClass; var_dump($a instanceof MyClass); var_dump($a instanceof NotMyClass); ?>
相关文章推荐
- C,Delphi,PHP 基础语法对比
- PHP的语法基础
- PHP语法基础:数据类型、常量与变量的声明及区别
- PHP自学笔记2——语法基础
- 【php】php语法基础
- 入门系列之二PHP基础语法:if 语句的使用
- php学习第一章:PHP基础语法(三)数据结构与算法:1、线性表、队列、栈
- PHP基础语法2
- PHP 学习笔记(二)基础语法
- php学习第一章:PHP基础语法(一)之PHP数据类型与PHP常量
- php基础语法
- PHP基础学习笔记之基本语法
- 1.1 - 第一章:PHP基础 - 语法
- php基础语法
- 在w3cschool.com学习PHP基础语法
- PHP - Smarty模板引擎 - 翻译 - Manual手册 - Chapter 3. Basic Syntax第3章 基础语法 - Comments注释
- 基础PHP语法学习:常量,变量
- php基础语法 代码
- 痕迹_PHP基础语法——注释
- php学习第一章:PHP基础语法(二)之PHP运算