php中又很多的可选语法,比如echo
使用echo()和print()都可以输出文本,他们的不同之处在于print()函数有一个返回值1代表输出成功,0代表输出失败,二echo()就没有返回值了。
逻辑表达式中的可选性
我们看下面的语句
<?php $p = 6 or 0; var_dump($p); $p = 6 || 0; var_dump($p); $p = 6 and 0; var_dump($p); $p = 6 && 0; var_dump($p); ?>
一次输出的结果是:
int(6) bool(true) int(6) bool(false)
=的优先级比or要高,所以先赋值再计算or表达式得到true,=的优先级比or要低,所以先计算表达式的值得到true再给$p赋值,=的优先级要比and高所以先给$p赋值再计算表达式的值,=的优先级要比&&低,所以先计算&&表达式的值得到false,再给$p赋值。他们计算得到的值都是true,如下:
<?php $p = 6 or 0; var_dump(6 or 0); $p = 6 || 0; var_dump(6 || 0); $p = 6 and 0; var_dump(6 || 0); $p = 6 && 0; var_dump(6 || 0); ?>
这里输出的结果是:bool(true) bool(true) bool(true) bool(true)
使用定界符代替字符串的引号
我们知道php中的字符串要使用单引号或者双引号包括起来,但是遇到字符串中本身有单引号或者双引号的情况就需要使用转义字符了,这里可以使用定界符代替,如下:
$value = <<<aABC This is the text aABC that will be included in the ""value variable. aABC aABC; echo($value);
代码输出:
This is the text aABC that will be included in the ""value variable. aABC,这里的aABC可以使用任意的字符串代替,单首尾要一致,最后一个aABC需要顶格写,前面不能有空格。
面向对象
类是抽象事物的表现,类中包含自包含的变量和函数,类就像一个蓝图,用这个蓝图我们可以建造不同的个体。来看下面的代码
class Box { private $what_is_inside; public function __construct($contents) { $this->$what_is_inside = $contents; } public function get_whats_inside() { return $this->$what_is_inside; } }
类的定义以class开头,然后是指定一个任意的名字,然后是花括号,变量和方法都定义在这个花括号中。在这个类中我们定义了一个变量和两个方法,当初始化这个类的时候首先会执行构造方法__construct,用来给变量赋值。变量$this表示变量$what_is_inside是Box这个类中的变量,而非类中的函数的变量。$this表示是这个类中的变量,它在类中的任意函数都可以调用到。
属性和方法
面向过程中的变量和函数,在面向过程中我们成为属性和方法,在类中定义函数成为方法,方法提供的对象与标准接口,任何人都可以使用。私有的方法或属性只能在类的内部使用,共有的方法和属性在类的内部和外部都可以使用。
作者:Tyler Ning
出处:http://www.cnblogs.com/tylerdonet/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,如有问题,可以通过以下邮箱地址williamningdong@gmail.com 联系我,非常感谢。