php

2022-12-25 0 668

##PHP描述性

###PHP 句法

PHP JAVA以 <?php 已经开始,以 ?> 完结:

<?php

// PHP 标识符

?>

PHP 中的注解:`// /* */`

###PHP 表达式

两个有效率的cp由拉丁字母或是下划线结尾,前面跟得上任一数目的拉丁字母,位数,或是换行

<?php

$var = Bob;

$Var = Joe;

echo “$var, $Var”; // 输入 “Bob, Joe”

$4site = not yet; // 违法cp;以位数结尾

$_4site = not yet; // 不合法cp;以换行结尾

$i公交站点is = mansikka; // 不合法cp;能用英文

?>

PHP 也提供更多了除此之外一类方式给表达式表达式:提及表达式。这意味著捷伊表达式单纯的提及

<?php

$foo = Bob; // 将 Bob 赋给 $foo

$bar = &$foo; // 通过 $bar 提及 $foo

$bar = “My name is $bar”; // 修改 $bar 表达式

echo $bar;

echo $foo; // $foo 的值也被修改

?>

###PHP 常量

不合法的常量名以拉丁字母或换行已经开始,前面跟着任何拉丁字母,位数或换行

<?php

// 不合法的常量名

define(“FOO”, “something”);

define(“FOO2”, “something else”);

define(“FOO_BAR”, “something more”);

// 违法的常量名

define(“2FOO”, “something”);

// 下面的定义是不合法的,但应该避免这样做:(自定义常量不要以__结尾)

// 也许将来有一天 PHP 会定义两个 __FOO__ 的魔术常量

// 这样就会与你的标识符相冲突

define(“__FOO__”, “something”);

?>

###PHP表达式

最基本的表达式形式是常量和表达式。`$a = 5;`

稍微复杂的表达式例子就是函数

function foo ()

{

return 4;

}

两个常用到表达式类型是比较表达式。这些表达式求值 false 或 true。PHP 支持 >(大于),>=(大于等于),==(等于),!=(不等于),<(小于),<= (小于等于)

– 松散比较:使用两个等号 == 比较,只比较值,不比较类型。

– 严格比较:用三个等号 === 比较,除了比较值,也比较类型。

三元条件运算符 `$first ? $second : $third`

<?php

function double($i)

{

return $i*2;

}

$b = $a = 5; /* assign the value five into the variable $a and $b */

$c = $a++; /* a==6,c==5

$e = $d = ++$b; /* b=d=e=6

/* at this point, both $d and $e are equal to 6 */

$f = double($d++); /* assign twice the value of $d before

the increment, 2*6 = 12 to $f */

$g = double(++$e); /* assign twice the value of $e after

the increment, 2*7 = 14 to $g */

$h = $g += 10; /* first, $g is incremented by 10 and ends with the

value of 24. the value of the assignment (24) is

then assigned into $h, and $h ends with the value

of 24 as well. */

?>

###PHP 字符串表达式

并置运算符 (.) 用于把两个字符串值连接起来

`$txt1 . ” ” . $txt2; `

strlen() 函数返回字符串的长度(字节数)

`strlen(“Hello world!”); `

strpos() 函数用于在字符串内查找两个字符或一段指定的文本

`strpos(“Hello world!”,”world”); `

###PHP 运算符

#### PHP 算术运算符

(img)

#### PHP 表达式运算符

(img)

#### PHP 递增/递减运算符

(img)

#### PHP 比较运算符

(img)

#### PHP 逻辑运算符

(img)

##PHP If…Else 语句

– if 语句 – 在条件成立时执行标识符

– if…else 语句 – 在条件成立时执行一块标识符,条件不成立时执行另一块标识符

– if…elseif….else 语句 – 在若干条件之一成立时执行一个标识符块

– switch 语句 – 在若干条件之一成立时执行两个标识符块

if (条件)

{

if 条件成立时执行的标识符;

}

elseif (条件)

{

elseif 条件成立时执行的标识符;

}

else

{

条件不成立时执行的标识符;

}

##PHP Switch 语句

工作原理:首先对两个单纯的表达式 n(通常是表达式)进行一次计算。将表达式的值与结构中每个 case 的值进行比较。如果存在匹配,则执行与 case 关联的代码。标识符执行后,使用 break 来阻止标识符跳入下两个 case 中继续执行。default 语句用于不存在匹配(即没有 case 为真)时执行。

switch (n)

{

case label1:

如果 n=label1,此处标识符将执行;

break;

case label2:

如果 n=label2,此处标识符将执行;

break;

default:

如果 n 既不等于 label1 也不等于 label2,此处代码将执行;

}

##PHP 数组

三种类型的数组:

– 数值数组 – 带有位数 ID 键的数组

– 关联数组 – 带有指定的键的数组,每个键关联两个值

– 多维数组 – 包含两个或多个数组的数组

#### PHP 数值数组

$cars=array(“Volvo”,”BMW”,”Toyota”);

echo “I like ” . $cars[0] . “, ” . $cars[1] . ” and ” .$cars[2] . “.”;

遍历数值数组,遍历并打印数值数组中的所有值,能使用 for 循环

for($x=0;$x<$arrlength;$x++)

{

echo $cars[$x];

echo “<br>”;

}

#### PHP 关联数组-字典

`$age=array(“Peter”=>”35″,”Ben”=>”37″,”Joe”=>”43”);`

or

$age[Peter]=”35″;

$age[Ben]=”37″;

$age[Joe]=”43″;

遍历并打印关联数组中的所有值,能使用 foreach 循环

foreach($age as $x=>$x_value)

{

echo “Key=” . $x . “, Value=” . $x_value;

echo “<br>”;

}

##PHP 数组排序

– sort() – 对数组进行升序排列

– rsort() – 对数组进行降序排列

– asort() – 根据关联数组的值,对数组进行升序排列

– ksort() – 根据关联数组的键,对数组进行升序排列

– arsort() – 根据关联数组的值,对数组进行降序排列

– krsort() – 根据关联数组的键,对数组进行降序排列

##PHP 超级全局表达式

$GLOBALS 是PHP的两个超级全局表达式组,在两个PHPJAVA的全部作用域中都能访问。

$GLOBALS 是两个包含了全部表达式的全局组合数组。表达式的名字就是数组的键。

##PHP 循环 – While 循环

在您编写标识符时,您经常需要让相同的标识符块一次又一次地重复运行。我们能在标识符中使用循环语句来完成这个任务。

在 PHP 中,提供更多了下列循环语句:

– while – 只要指定的条件成立,则循环执行标识符块

– do…while – 首先执行一次标识符块,然后在指定的条件成立时重复这个循环

– for – 循环执行标识符块指定的次数

– foreach – 根据数组中每个元素来循环标识符块

## PHP 函数

函数的名称应该提示出它的功能

函数名称以拉丁字母或换行结尾(不能以位数结尾)

function functionName()

{

// 要执行的标识符

}

##PHP 魔术常量

`__LINE__`文件中的当前行号

`__FILE__`文件的完整路径和文件名。如果用在被包含文件中,则返回被包含的文件名。

`__DIR__`文件所在的目录。如果用在被包括文件中,则返回被包括的文件所在的目录。

`__FUNCTION__、__CLASS__、__TRAIT__、__METHOD__、__NAMESPACE__ `

##PHP 面向对象

– 类使用 class 关键字后加上类名定义。

– 类名后的一对大括号(\{\})内能定义表达式和方法。

– 类的表达式使用 var 来声明, 表达式也能初始化值。

– 函数定义类似 PHP 函数的定义,但函数只能通过该类及其实例化的对象访问。

class Site {

/* 成员表达式 */

var $url;

var $title;

/* 成员函数 */

function setUrl($par){

$this->url = $par;

}

function getUrl(){

echo $this->url . PHP_EOL;

}

function setTitle($par){

$this->title = $par;

}

function getTitle(){

echo $this->title . PHP_EOL;

}

}

#### PHP 构造函数

function __construct( $par1, $par2 ) {

$this->url = $par1;

$this->title = $par2;

}

####继承

class Child extends Parent {

// 标识符部分

}

####访问控制

PHP 对属性或方法的访问控制,是通过在前面添加关键字 public(公有),protected(受保护)或 private(私有)来实现的。

– public(公有):公有的类成员能在任何地方被访问。

– protected(受保护):受保护的类成员则能被其自身以及其子类和父类访问。

– private(私有):私有的类成员则只能被其定义所在的类访问。

####接口

使用接口(interface),能指定某个类必须实现哪些方法,但不需要定义这些方法的具体内容。

// 声明两个iTemplate接口

interface iTemplate

{

public function setVariable($name, $var);

public function getHtml($template);

}

// 实现接口

class Template implements iTemplate

{

private $vars = array();

public function setVariable($name, $var)

{

$this->vars[$name] = $var;

}

public function getHtml($template)

{

foreach($this->vars as $name => $value) {

$template = str_replace({ . $name . }, $value, $template);

}

return $template;

}

}

####常量

能把在类中始终保持不变的值定义为常量。在定义和使用常量的时候不需要使用 $ 符号。

常量的值必须是两个定值,不能是表达式,类属性,数学运算的结果或函数调用。

自 PHP 5.3.0 起,能用两个表达式来动态调用类。但该表达式的值不能为关键字(如 self,parent 或 static)

` const constant = 常量值;`

####抽象类

任何两个类,如果它里面至少有两个方法是被声明为抽象的,那么这个类就必须被声明为抽象的。

定义为抽象的类不能被实例化。

继承两个抽象类的时候,子类必须定义父类中的所有抽象方法;除此之外,这些方法的访问控制必须和父类中一样(或是更为宽松)。例如某个抽象方法被声明为受保护的,那么子类中实现的方法就应该声明为受保护的或是公有的,而不能定义为私有的

#### Static 关键字

声明类属性或方法为 static(静态),就能不实例化类而直接访问。

静态属性不能通过两个类已实例化的对象来访问(但静态方法能)。

由于静态方法不需要通过对象即可调用,所以伪表达式 $this 在静态方法中不可用。

静态属性不能由对象通过 -> 操作符来访问。

#### Final 关键字

如果父类中的方法被声明为 final,则子类无法覆盖该方法。如果两个类被声明为 final,则不能被继承。

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务