1)不须要提前定义,利用时直接赋一个值即可。

2)PHP的变量的命名规则,跟JS一样,许可的字符有:大小写英笔墨母、0-9、_

3)PHP的变量必须以美元符号$开头;例如:$name=“周重生”;

php数据类型枚举我的php进修第二十一天php变量PHP的数据类型 CSS

4)PHP的变量区分大小写

5)PHP的关键字和函数名,不分区大小写,建议一律用小写;

6)PHP对付多个单词构成的变量名

下划线办法:$get_user_name

骆峰命名办法:$getUserName

7)同一变量,多次定义,后面的变量会覆盖前面的同名变量

<?php

$name; //变量定义了,但没有赋值

var_dump($name); //返回一个NULL

?&gt;

PHP的数据类型

1)基本数据类型(标量数据类型): 整型(int)、浮点数(float)、布尔型(boolean)、字符型(string)

2)复合数据类型:工具(obj)、数组(array)

PHP中的工具,只有自定义工具,没有所谓的“内置工具”。

面向工具编程,MVC的架构。

3)分外数据类型:资源型、NULL

资源型:紧张访问或操作“外部”的数据或文件时,将返回一个“资源型”的标识。

如:连接MySQL数据库时,会返回一个“资源”标识符,解释数据库已经连通。

只有数据库连通往后,才能做“后续事情”:选择数据库、设置字符集、增、删、改、查。

NULL:一个变量定义了,但没有赋值。
如果你利用“unset()”删除了变量的值,则同样返回NULL

$school = NULL;

unset($name);

PHP常量

常量:便是一个永久不变的量,就叫“常量”。
比如:连接数据库的“主机名”、“用户名”、“密码”、ICP备案号

第一步:定义常量

格式:define(name,value);

举例:define(“DB_HOST”, “192.168.3.100”);

define(“WEB_ICP”,“京1102342312312”)

define(“WEB_NAME”,“南宁有限公司公司”)

define(“WEB_ADDRESS”,“南宁市青秀区青秀万达”)

第二步:判断常量

格式:defined(name)

if(defined(“DB_HOST”))

{

echo “MySQL的主机IP地址:”.DB_HOST;

}

2.for循环语句

1、语法格式:

for(变量初始化;条件判断表达式;变量更新)

{

循环实行的程序代码;

}

2、举例解释

//输出1-100间,所有的偶数,的和

$sum = 0;

for($i=1;$i<=100;$i++)

{

//找出1-100间所有的偶数

if( $i % 2 == 0 )

{

//这里出来的数,都是偶数

$sum += $i;

}

}

3.赋值传值和引用传址

1、赋值传值

所谓的“赋值传值”,便是将一个变量的值,“拷贝”一份传给另一个变量。

那么,这两个变量没有任何联系,是相互独立的。

在PHP中,默认的传值办法便是“赋值传值”,比如:基本数据类型、数组、NULL

$a = 100;

$b = $a; // 将变量$a的值,传给了变量$b

$b = 200; // 对变量$b重新赋值

echo $a; //$a = 100 ,变量$a的值并没有改变

2、引用传址

所谓的“引用传址”,便是将一个变量的“地址”,“拷贝”一份传给另一个变量。

因此,这两个变量指向的是同一个“地址”,或者是同一个“地方”,相称于一个人有两个名字:大名、小名。

“引用传址”中两个变量,只要有一个变量的值修正了,则另一个变量的值也随着变。

这两个变量是有联系的,不是独立的。

在PHP中,引用传址的数据类型是:资源、工具。

把稳:在PHP中,任何数据类型都可以“引用传址”。
通过一个“&”来“引用”变量。

//引用传址

$a = 100; //定义变量,并赋值

$b = &$a; // 用&号将变量$a的“地址”,复制一份,传给了变量$a

$b = 200; //对$b重新赋值

echo $a; // $a = 200,$a和$b指向了“同一个地方、地址”

4.数组的观点

数组是一组数的凑集。

假设:一个老太太,养了50000只鸡,鸡一重量分别是:1.5斤、2斤、2.5斤、3.0斤、50斤,……,求所有鸡的均匀重量?

$hen1 = 1.5;

$hen2 = 2;

$hen3 = 2.5;

$hen4 = 3;

$hen5 = 50;

$sum = $hen1+$hen2+$hen3+$hen4+$hen5;

$avg = $sum/5;

//用数组来实现

$arr = array(1.5,2,3,4,5,3.5,6,56,54,34,34,32);

$sum = array_sum($arr);

$count = count($arr);

$avg = $sum/$count

2、数组分类

1)列举数组(数字索引数组):下标是非负整数。
$arr[0]=100

2)关联数组(字符下标):下标是字符串。
$arr[“name”]=“张立峰”

3)稠浊数组:即有字符下标,也有数字下标。
$arr[“contact”][0] = “13011057863”

4)多维数组:数组的元素,还是一个数组。

3、数组的创建

1)利用[ ]符号来创建数组

$arr[0] = 0; //JS中创建数组 var arr = [1,2,3,4];

//如果[]中没有指定下标,则创建一个最大数值下标+1的元素

$arr[] = 1; //JS中的下标必须有值,不能为空

$arr[10]= 10;

$arr[] = 11; //下标为11

$arr[“name”]=“张三”;

$arr[] = 100; //下标为12

//利用print_r()直接可以打印输出所有的数组元素

print_r($arr);

<?php

//创建数组

$arr[] = 0;

$arr[] = 1;

$arr[] = 2;

$arr[\公众name\"大众] = \"大众张三\"大众;

$arr[\公众sex\公众] = true;

$arr[\"大众age\"大众] = 30;

$arr[99] = 99;

$arr[] = \公众北京大学\"大众;

//通过print_r()测试数组

dump($arr);

//定义函数

function dump($arr)

{

echo \"大众<pre>\"大众;

print_r($arr);

echo \"大众</pre>\"大众;

}

?>

2)利用array()函数来创建

格式一:$arr = array(value1,value2,value3,value4,……);

举例:$arr = array(34,34,65,67,78,”abc”,true,NULL);

格式二:$arr=array(key=>value,key=>value,……);

解释:

Key便是指下标,可以是字符下标,也可以是数字下标;

Value便是数组元素的值,可以是任何类型;

=>叫“重载下标”符号,重新指定一个下标;

举例:

$arr = array(

“name”=>”张三”,

“sex”=>“男”

“isMarried”=>true,

10=>100, //数字下标从10开始

200,300 //200的下标为11,300的下标为12

);

5.数组的常用函数

print_r()

含义:打印变量的信息,如果是基本数据类型的变量,直接输出值,如果是数组,则以一定的格式来输出

格式:bool print_r($var)

返回值:布尔值

unset()

含义:删除一个数组元素、一个变量、一个工具的属性。

格式:unset($var)

把稳:如果删除一个数组元素,则数组还不才标依然保留(跟JS一样delete)

如果利用unset删除一个数组,则数组中的所有数据消逝,并且数组的索引会重修

foreach()

含义:遍历循环数组,只能运用于数组。

格式:

foreach($arr as [$key=>]$value)

{

echo $value;

echo $arr[$key];

}

把稳:$key即可以是数字,也可以是字符。

count()

含义:统计数组元素的个数,默认情形下只统计一维数组。

格式:int count($arr[,mode])

参数:mode为可选,如果设为1,则统计多维数组

array_reverse()反转数组中的元素

array_shift():删除数组中的第一个元素,且长度减1

array_pop():删除数组中的末了一个元素,且长度减1

array_unshift():在数组的开头增加一个元素,长度加1

array_push():在数组的末端增加一个元素,长度加1

解释:上述四个对数组操作的函数,返回值是“删除或增加”的那一个元素的值。

6.

7.函数的观点

函数便是将一段常用的代码(封装)进行命名。

假设:我们求以下N个数组中的最大值和最小值

$arr1 = array(1,2,3,4);

$arr2 = array(2,3,2,1);

$arr3 = array(5,6,4,2);

……

8.语法构造

function functionName([参形,参形2,参形3,……])

{

函数功能的代码;

[return 值];

}

语法构造的解释:

1)function是关键字,在PHP中,不区分大小写;

2)functionName是函数的名称,命名规则跟变量一样,但前面不加“$”符号;

3)定义函数时的参数叫“形式参数”,调用函数时的参数叫“实际参数”

4)函数可以没有参数,但小括号不能省略;

5)函数中,可以利用return语句向调用者,返回一个值;return语句实行后,会立即结束函数的运行,因此return语句一样平常放在定义函数的末了;

6)函数定义后,必须在某个地方调用;只定义函数,函数是不会实行的,只有调用函数才会实行;

7)函数不能存在同名函数(不支持函数的重载),但在JS中可以;

9.函数参数

(1)值通报(复制)

默认参数通报,是将一个变量的值,复制一份通报给函数了。

showInfo(“周重生”); //调用函数

function showInfo($name)

{

echo “$name 的年事是30岁”;

}

(2)引用通报

引用参数通报,是将一个变量的“地址”,通报给函数了。
可以在函数中,直接修正变量的值。
修正完后,不管是函数内,还是在函数外,这个变量都会发生改变。

在定义函数时,在参数前加一个“&”号,便是引用外部的变量地址。

(3)默认参数通报

在定义函数时,可以指定默认的参数(给参数赋一个默认的值)。

默认参数,必须放在普通参数的右边。

function showInfo($who,$sport=“打游戏”)

{

echo “$who 正在 $sport”;

}

//调用函数

showInfo(“张三”); //$result = 张三正在打游戏

showInfo(“李四”,”上网”); //$result = 李四正在上网

10.函数变量的浸染域:全局变量和局部变量

JS中在函数外定义的变量叫“全局变量”,“全局变量”可以在函数内利用。

JS中的局部变量只能在函数内利用。

在PHP中,在函数外定义的变量,在函数内不能访问;当然,函数内的变量,在函数外也不能访问。

在函数中,利用关键字global来声明为“全局变量”,这样后,在函数内外都能访问。

$name = \公众张三\公众;

showInfo();

//输出$name的值

echo $name;

//定义函数

function showInfo()

{

//声明为全局变量

global $name;

$name = \"大众张三\公众;

echo \"大众$name 的年事是30岁!
<br>\"大众;

}

11.日期韶光函数

date()函数

在PHP中,输出日期韶光的干系信息,只须要利用date( )函数。

格式:string date(string format[,int timestamp])

参数:

format:是指输出的日期和韶光的格式字符,比如:date(“Y-m-d H:i:s”)

timestamp:是可选项。
如果省略,以当前韶光为准(1970年1月1日到现在的秒数),也可以自己定义一个timestamp。

举例:

echo date(\"大众Y年m月d日 H:i:s z l\"大众);

time()本日间隔Unix纪元(1970年1月1日)

mktime()根据指定的日期韶光信息,得到间隔Unix纪元过去了多少秒

格式:int mktime([hour][,minutes][,seconds][,month][,day][,year])

解释:

参数的顺序,必须是“时分秒月日年”

参数可以从右向左省略,省略的部分用当前韶光的对应部分来代替。

返回值:是一个整数,间隔Unix纪元过去了多少秒

举例:mktime(0,0,0,10,20,1980)

//打算:张三本日多大了?

//出生日期:1980-10-20

//(1)先求出本日间隔Unix纪元过去了多少秒

$today = time();

//(2)出生日期间隔Unix纪元过去了多少秒

$yestoday = mktime(0,0,0,10,20,1980);

//(3)求两个韶光的差

$result = ceil(($today - $yestoday)/(606024365));

echo \公众张三今年{$result}岁了!
\公众;