PHP基础语法

来源:互联网 发布:淘宝代购比旗舰店便宜 编辑:程序博客网 时间:2024/05/17 05:16

1、PHP基本语法

(1)html和PHP混编
(2)一个语句以 ;  分号结束
(3)定义变量要以$符号开头
(4)php的变量的数据类型,是变化的,php变量的数据类型是由上下文决定的。
(5)php区分英文大小写
(6)一个有效的变量名要以字母或下划线开头,后面跟上任意数量的字母、数字或下划线

注释:1、多行注释 /* */
           2、单行注释  //
           3、#开头,单行注释

2、PHP基本数据类型

(1)基本数据类型:

整型  integer

1、整型值可以使用十进制,十六进制"0x",八进制0打头

2、php不支持无符号整数,即php中的整数都是有符号的

     (php中,一个整数,一般占四个字节(与平台有关),一个字节占8bit(8位),最高位是符号位,0为整数,1为负数)

3、通过PHP_INT_SIZE可以显示在当前机器中一个整数几个字节。  echo  PHP_INT_SIZE;

     (可以表示的最大值用PHP_INT_MAX查看)

4、如果一个整数的范围超过最大范围,自动转为float型

小数(浮点)类型  float/double
浮点数的字长和平台相关,通常最大值是1.8e308(1.8乘以10的308次方)并具有14位十进制字的精度。
(从左边起第一个非零的数,开始计入精度位数)
布尔类型  boolean

1、要指定一个布尔值,使用关键字TRUE或FALSE,两个不区分大小写

2、以下值会被当做false来对待:

布尔值FALSE本身,整数型0,浮点型0.0,空字符串,以及字符串"0",没有任何元素的数组,没有成员变量的对象,特殊类型null,

读取没有任何标记(tags)的xml文档生成的SimpleXML对象

字符串型  String

1、一个字符串是由一个系列的字符组成,一个字符就是一个字节。

2、PHP对字符串的长度限制只和运行PHP程序这台机器的内存大小有关,即php字符串可以足够大。

3、字符串常见的定义方法为单引号和双引号

$_i = 90;
$_user1 = "hello$_i";
$_user2 = 'hello$_i';
echo $_user1;    //输出:hello90
echo $_user2;    //输出:hello$_i

由此,当一个变量包含在双引号中时,会输出它的值,而包含在单引号中只输出字符串本身.

(2)特殊数据类型:

null

资源类型 resource


(3)复合数据类型:

数组 array

对象 object


PHP类型的自动转换

变量的类型由PHP根据该变量的上下文在运行时决定,可以通过var_dump(变量1,变量2,......);

3、PHP表达式 —— 任何有值的东西

(1)算数运算符

自加:++   自减:--

$_a = $_b++;
echo $_a;  //输出:1
$_c = 1;
$_a = $_c;
$_c = $_c + 1;
echo $_a; //输出:1

其他: += , -= ,  /=  , %=比较运算符: ==  判等=== 全等,值相等,类型相同,返回true!==  值不相等,或类型不同,则返回true

(2)逻辑运算符

与: $_a and $_b     $_a 和$_b都为true,则表达式为true

        $_a &&  $_b     $_a 和$_b都为true,则表达式为true

或:$_a or $_b     $_a 或$_b为true,则表达式为true

       $_a || $_b     $_a 或$_b为true,则表达式为true

异或:$_a xor $_b     $_a 和$_b不相同,则表达式为true

取反:!$_a   如果$_a = true ,则返回false

特别注意:运算符的优先级顺序

||的优先级高于or,&&的优先级高于or 

= 的优先级比 or,and都高

(3)三元运算符

表达式:(expr1) ? (expr2) : (expr3)

规则:在expr1求值为TRUE时值为expr2,在expr1求值为FALSE时值为expr3。

(4)字符串运算符

有两个字符串运算符,使用连接运算符(".").
$_a = 10;  $_b = 90;  echo $_a . $_b ;  输出 1090

(5)类型运算符

instanceof用于确定一个PHP变量(对象)是否属于某一类class的实例

4、PHP流程控制

顺序流程控制,就是不加控制的流程,顺序执行。
分支控制,有选择地执行代码。

(1)分支控制流程

1、if语句
(1)单分支:
if(条件表达式) {
若干语句
}

(2)双分支:

if(条件表达式) {

若干语句

}

else {

若干语句

}

(3)多分支:
if(条件表达式) {

若干语句

}
if else(条件表达式) {
若干语句

}(可多个)
else {

若干语句

}
2、switch语句       同JAVA

switch(表达式) {

case 常量1 : 若干语句;break;

......

default : 若干语句;     (可选)

}
3、if与switch的区别
if是对某个范围的判断,而switch是对一个点的判断。
应用场景:当分支就是几个点的时候,应当使用switch,如果你的分支是几个区域(范围)的判断,
则考虑使用if。

(2)循环控制流程

1、for循环
for(循环初值 ; 循环条件 ; 步长) {
循环语句

}

例子:

for($i=0;$i < 10 ;$i++) {
echo "<br>$i";
}


2、while循环


while(循环条件) {

循环语句

}
例子:

$j = 0;
while($j < 10) {
echo "<br>$j";
$j++;
}
3、do-while循环

do{

循环语句

}while(循环条件) 

例子:

$l = 6;
do{
echo "<br><br>$l";
}while($l>7);

4、break

(1)break语句默认跳出1层;

(2)break语句后面带的数字,不能超过实际可以跳出的循环层数,否则会报错。

例: break 3;  #跳出3层循环


5、continue

continue在循环结构中用来跳过本次循环中剩余的代码,并在条件求值为真时开始执行下一次循环

,continue可接受一个可选的数字参数决定跳过几重循环,到循环结尾。

默认:  continue  1;


6、goto     仅在php5.3及以上版本有效

通过goto语句我们可以将程序跳转到指定的地方执行。

例子:

goto a;

echo "aa";

a:  echo "bb";    

执行结果:bb


5、常量

可以理解是一种特殊的变量,一旦被定义,就不能再改变或取消定义。
常量与变量的区别:
(1)常量前面没有美元符号($);
(2)常量通过define()函数定义,而不能通过赋值语句。
(3)常量可以在任何地方定义和访问,而变量有作用域。
(4)常量一旦定义就不能被重新定义或者取消定义。
(5)常量的值是标量(String,Integer,float,boolean)

例子:     常量的命名为全大写字母
<?php
define("DBHost","192.168.1.8");
echo DBHost;
const DBPort = 3306;  #PHP5.3后可使用
echo '<br>'.DBPort;
?>

6、函数

为完成某一功能的程序指令(语句)的程序,称为函数。

1、函数的使用

function  函数名(参数1,参数2......) {
函数体(语句)
return 返回值;(可选)
}
使用方法:
require    "functions.php";  引入含有count方法的页面
$res = count($num1,$num2);

php执行时,一旦遇到函数的调用,就会开辟一个新栈,执行该函数的代码,执行完毕后
,返回继续执行后续代码。
注意:各栈的变量时相互独立的。

2、函数的深入讨论

(1)函数的参数列表可以是多个
可变参数函数:
test(1,2,3);
function test() {
echo func_num_args();              //输出参数数量
$varArray = func_get_args();     //获取参数,返回参数数组
        foreach($varArray as $value) {
echo '<br>'.$value;
}
}


(2)参数的数据类型可以是任意的类型(array,integer,float,boolean,String,object)

(3)函数的命名跟自定义变量一样(不区分大小写)

(4)一个自定义函数中的变量是局部的,函数外不生效。

(5)使用global全局变量的时候,可使用函数外的变量。

例子:

$a = 12;

function test() {

global  $a;     //表示在function  test范围内使用函数外面的$a

$a = 45;

}

test();

echo $a;   //输出45


(6) 销毁指定的变量  unset(变量名)    如果在函数中 unset() 一个全局变量,则只是局部变量被销毁

例子:

$a = 12;

function test($a) {

unset($a);   //表示不在test函数范围内,再使用$a,后面需要全新定义

$a = 24;

echo $a;     //输出24

}

test($a);

echo $a;     //输出12


(7)函数默认值

例子:

function test($a,$b = 2) {

$res = $a + $b;

echo $res;

}

$e = 32;

$f = 55;

test($e);  //输出34

test($e,$f); //输出87


(8)PHP默认是值传递,如果需要引用传递,使用:&变量名

例子:

$b = 32;

function test(&$b) {

$b = 24;

}

echo $b;  输出:32

7、引入页面

1、引入其他页面到当前页面
(1)引入页面的方法
1、require  'b.php' ;
2、$b = 'b.php';  require $b;
3、require('b.php');

(2)require() 和 require_once()细节

一般放在php页面的最前面,php在执行前,就读入require所引入的文件,一旦出现错误,则退出程序。

区别:前者遇到文件就引入,后者会判断是否已经引入过,避免重复引入。

1、节省资源     2、可以避免重复定义的错误

注意:一个php文件中,函数名不能重复,引入的函数同样不能重复。

2、包含其他页面到当前页面
(1)包含其他页面的方法
1、include('b.php')
2、include 'b.php'
3、$b = 'b.php';  include $b;

(2)include() 和include_once()区别是: include_once()可以避免二次包含

3、require和include的区别

include如果出现了错误,会继续执行。

require如果出现错误,则会终止程序。

0 0
原创粉丝点击