我的php学习第二十一天之php基础篇

昨日回顾

PHP变量

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

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

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

4)PHP的变量区分大小写

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

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

下划线方式:$get_user_name

骆峰命名方式:$getUserName

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

 

<?php

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

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

?>

 

 

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;

}

 

for循环语句

1、语法格式:

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

{

循环执行的程序代码;

}

2、举例说明

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

$sum = 0;

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

{

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

if( $i % 2 == 0 )

{

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

$sum += $i;

}

}

 

赋值传值和引用传址

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指向了“同一个地方、地址”

 

数组的概念

数组是一组数的集合

假设:一个老太太,养了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

              );

 

4、多维数组

image001

数组的常用函数

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

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

 

函数的概念

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

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

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

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

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

……

 

语法结构

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

{

函数功能的代码;

[return 值];

}

语法结构的说明:

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

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

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

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

5)函数中,可以使用return语句向调用者,返回一个值;return语句执行后,会立即结束函数的运行,因此return语句一般放在定义函数的最后;

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

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

 

函数参数

1)值传递(复制)

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

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

function showInfo($name)

{

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

}

2)引用传递

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

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

$str = “周更生”;

showInfo($str);

echo $str;  //现在的$str=“刘晓庆”

function showInfo( &$name )

{

$name = “刘晓庆”;

echo “$name 的年龄是30岁!”;

}

 

3)默认参数传递

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

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

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

{

echo “$who 正在 $sport”;

}

//调用函数

showInfo(“周更生”);   //$result = 周更生正在打游戏

showInfo(“刘晓庆”,”洗澡”);    //$result = 刘晓庆正在洗澡

 

函数变量的作用域:全局变量和局部变量

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

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

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

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

 

$name = "周更生";

showInfo();

//输出$name的值

echo $name;

//定义函数

function showInfo()

{

//声明为全局变量

global $name;

$name = "张立峰";

echo "$name 的年龄是30岁!<br>";

}

 

 

日期时间函数

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");

image003

time()今天距离Unix纪元(197011)

 

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)/(60*60*24*365));

echo "周更生今年{$result}岁了!";

 

本文来自投稿,不代表科技代码立场,如若转载,请注明出处https://www.cwhello.com/497.html

如有侵犯您的合法权益请发邮件951076433@qq.com联系删除

(0)
上一篇 2015年12月1日 17:01
下一篇 2015年12月1日 17:48

相关推荐

  • php技术的图像压缩处理类

    因为主流的编程思想是:OOP面向对象编程,文件的最新单位是类 思考: 有哪些属性: 原图文件 压缩文件保存的地址 有哪些成员方法: 制作压缩图像的方法

    2018年9月11日 PHP案例操作
    0193
  • 一起看看PHP执行普通shell命令流程

    这里演示一些普通的shell命令php执行shell命令,可以使用下面几个函数:注意的是:这三个函数在默认的情况下,都是被禁止了的,如果要使用这几个函数,就要先修改php的配置文件php.ini,查找关键字disable_functi...

    2022年6月18日
    0125
  • 使用PHP连接MariaDB数据库。

    MariaDB是一种开源的关系型数据库管理系统,它是MySQL的一个分支。PHP作为一种开源的服务器端脚本语言,被广泛应用于Web开发中。在很多Web开发项目中,需要使用PHP连接到MariaDB数据库,以便在Web应用程序中存储...

    2023年5月21日
    02
  • PHP+JavaScript实现刷新继续保持倒计时的按钮

    场景:发送一个验证码到手机,当验证码发出时,会提示隔 1 分钟之后可以再次发送。通常有这几种方式防止恶意请求,一是再次发送之前需要输入验证码,二是在指定的时间间隔之内不能再次发送。有些网站在 1 分钟的...

    2022年6月23日 PHP自学教程
    0144
  • PHP入门指南:PHP和Shell。

    PHP入门指南:PHP和Shell随着互联网的发展,PHP语言逐渐成为开源社区中最受欢迎的服务器端脚本语言之一。它结合了C、Java和Perl等编程语言的特点,具有简洁、高效、易于学习等特点,被广泛应用于网站开发、应用程...

    2023年5月23日
    00
  • PHP8中的新函数:fdiv()的新应用方法。

    随着一次又一次的更新,PHP已经成为了web应用程序开发中最流行的语言之一。在过去的几年中,PHP的变化非常迅速。特别是最近发布的PHP8版本中添加了许多新特性和函数,这些新特性和函数将使PHP的应用更加强大和高...

    2023年5月21日
    02
  • PHP入门指南:PHP和Logstash。

    首先,让我们简单介绍一下PHP和Logstash是什么。PHP是一种用于Web开发的脚本语言,它广泛应用于服务器端的开发,可用于构建动态网站,Web应用程序和Web服务。它也可以与MySQL和其他数据库一起工作,以便收集和处...

    2023年5月22日
    05
  • 详解PHP论坛实现系统的思路

    首先在用户表定义一个积分字段;然后创建一个等级表,主要字段有等级名,上限积分和下限积分;再根据用户的行为进行积分累加;最后根据判断用户积分在哪个等级范围,从而得出用户等级。用户表CREATE TABLE `bbs`....

    2022年6月16日
    0146

联系我们

QQ:951076433

在线咨询:点击这里给我发消息邮件:951076433@qq.com工作时间:周一至周五,9:30-18:30,节假日休息