PHP基础语法1

举报
炒香菇的书呆子 发表于 2022/05/09 23:54:20 2022/05/09
【摘要】 php标签php常用标签如下:<?php//这里写php代码?>以上方式是php最常见的使用标签方式。PHP脚本标签<script language=”php”> //PHP代码</script>以上这种方式也是可以的。但是不推荐使用,因为<script></script>这种方式通常是用来写javascript代码的。短标签方式<?//php代码?>以上这种短标签方式也是可以的,但是现在...

php标签

php常用标签如下:

<?php //这里写php代码 ?>

以上方式是php最常见的使用标签方式。

PHP脚本标签

<script language=”php”> //PHP代码 </script>

以上这种方式也是可以的。但是不推荐使用,因为<script></script>这种方式通常是用来写javascript代码的。

短标签方式

<? //php代码 ?>

以上这种短标签方式也是可以的,但是现在php默认已经不支持了,即要想使用这种短标签方式需要在php的配置文件(php.ini)中找到

short_open_tag = Off //默认这里是关闭 更改为short_open_tag = On 重启服务就可以使用这种短标签方式了。如果是用的一些集成环境 比如:phpstudy 可能默认就已经开启了这种短标签方式。

php注释

PHP注释有两大类:单行注释和块注释(多行)

单行注释有两种

双斜杠://

​ //输出hello world

井号:#

​ #输出helloworld

块注释:/* 注释内容 */

​ /*

这里是注释

以下内容是某个业务逻辑

*/

块注释通常在函数(方法)的地方使用,形式如下

/*``   ``* 函数功能``   ``* @param 参数解释``   ``* @return 返回值解释``   ``*``   ``* @author,作者``   ``* @2014-8-10``   ``*/

注意:PHP在解析PHP代码的时候,会跳过注释,不会保留注释信息。

要求:以后大家写的代码,必须要有注释。凡是有业务逻辑的地方,都必须使用注释详细说明。

PHP变量

变量:可以变化值的东西

定义变量

语法:$变量名

​ $name

​ $school_number

​ $age1

​ $age2

​ $3a = ‘variable’ //报语法解析错误!不合法变量!变量不能以数字开头!

变量命名规则

\1. 必须以$符号开始

\2. 变量名可以由字母,下划线和数字自由组合

\3. 不能以数字开头

\4. 可以是中文

\5. 变量命名通常需要见名之意

\6. 变量名字有多个单词组成的时候,可以使用两种方式

a) 驼峰法:schoolName

b) 下划线:school_name

\7. php中变量一般是在定义的时候就赋值

常量

一旦被定义,就不能被修改,只能被使用的“量”叫做常量。

语法如下:

define(‘常量名’,常量值);

常量使用的语法:直接使用常量名

常量的使用

1.某个值不需要变化的时候。某些数学常量如π

2.用于整个网站使用。

3.凡是能使用常量去做的事情都可以使用变量去替代。常量是用来规范数据保证数据不被修改。

常量命名规则

\1. 常量不能使用$符号

\2. 其他命名规则与变量基本一致

\3. 常量命名通常使用全部大写字母,多单词的常量都是使用下划线方式。

\4. 常量与变量一样都区分大小写

常量不能被修改和删除

PHP脚本执行结束后内存是如何处理的?

1.什么叫做PHP脚本执行结束?

指的是当PHP引擎将用户请求的某个PHP脚本文件(index.php)的最后一行PHP代码执行完毕,称之为脚本执行结束。

2.脚本结束后内存如何处理?

PHP脚本所占用的所有内存都会被释放,被操作系统回收。

数据类型

数据类型是针对各种(变量)的值而言,而不是针对变量本身。

PHP有三大数据类型:标量,复合,特殊

标量数据类型(简单数据类型)

整型:int或者integer,整数,包括正整数,负整数和0

$num = 5; //说num变量的数据类型,其实指的是num变量所指向的值5的数据类型

整型在系统内存中占4个字节保存数据。

PHP还支持定义其他进制:八进制和十六进制

八进制:数值以0开始,后面跟八进制序列

$num = 011; //十进制9

十六进制:数值以0x开始,后面跟十六进制序列

0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f

$num = 0x11; //十进制17

浮点型:float,double,精度

通常,float占用4个字节保存数据,单精度,表示7个精度

double占用8个字节保存数据,双精度,表示15个精度

实际上PHP中float也是占用8个字节保存数据。

$float = 1.0; //普通的带小数的浮点数

$float = 2.3e3;//科学计数法保存的浮点数

因为浮点数会丢失精度,所以通常不用浮点数比较大小。

什么情况下使用浮点型?什么情况下使用整型?

一般对于精度要求不是那么高的,但是数值又非常大的可以使用浮点数,其他情况下基本都不使用。

时间戳:从1970年到当前时间的秒数称之为时间戳(格林威治时间)

PHP提供了一个函数:time()获得时间戳

PHP用来保存时间都是使用时间戳来处理,date函数可以将时间戳转化成时间

字符串:string,凡是带引号包好的字符都可以称之为字符串

PHP中字符串的表示方式有三种:单引号,双引号,定界符 //定界符这里暂时先不记录

单引号:将字符串用单引号包裹起来

双引号:将字符串用双引号包裹起来

单引号和双引号的区别?

区别有两点:

  1. 双引号中能够使用更多的转义字符\r\n\t单引号:’ 双引号:"\r\n\t

  2. 双引号中能够解析PHP变量

布尔:bool和Boolean,布尔类型只有两个值true和false

哪些数据会被当做FALSE处理?

需要通过比较的形式来判断是否为false

0:整型0

0.0:浮点0

‘0’:字符串0

null:空

‘’:空字符串

复合数据类型:数组和对象

特殊数据类型如下:

NULL:定义的变量的值为NULL或者变量被删除

资源:所有外部数据的操作全部称之为资源类型数据

如PHP操作数据库中,mysql_connect连接成功返回的一个结果称之为资源(连接资源)

系统预定义变量

系统定义的变量称之为预定义变量,预定义变量有9个 如下所示:

$_POST:接收用户表单post方式提交的所有数据

$_GET:接收用户表单get方式提交的所有数据

$_REQUEST:接收用户get方式,post方式提交的数据,还有cookie数据

$_FILES:接收用户上传的文件信息

$_SESSION:存放session数据(存放在服务器)

$_COOKIE:存放cookie数据(存放在浏览器)

$GLOBALS:全局变量

$_SERVER:保存服务器信息

$_ENV:保存系统环境信息

系统预定义常量

PHP_OS:操作系统内核

PHP_VERSION:当前PHP的版本

PHP_INT_SIZE:int类型所占的字节数

PHP_INT_MAX:int类型能表示的最大值

魔术常量:可以自动变化的常量 如下所示:

FILE:当前脚本的文件路径(绝对路径)

LINE:当前所在的行数

DIR:当前脚本所在的目录(PHP4以后才有)

FUNCTION:当前函数的名字

METHOD:当前方法的名字(类中的函数)

可变变量

什么是可变变量?

通过一个得到一个变量的值,将该值再次当做一个变量名从而得到另外一个变量的值。

可变变量demo案例如下:

//可变变量``$name` `= ``'张三疯'``;``$myname` `= ``'name'``;` `echo` `$``$myname``; ``//$myname的值为name name和前边的$符合组合成$name 最终输出上面$name的值为:张三疯

传值

变量间的赋值

变量间的传值分为两种:值传递和引用传递

值传递:将一个变量的值赋值一份,然后赋值给新的变量

传值demo:

//普通传值``$a` `= 1;``//在变量空间开辟一块内存空间存1 存放1之后 会给1分配一个内存地址 假设改内存地址为1001 此时$a指向的内存地址为1001` `$b` `= ``$a``; ``//将$a的内存地址得到,复制出来一份 假设新地址还是1001 此时变量$b指向的内存地址是新复制出来的1001` `unset(``$a``); ``//删除$a之后 只是把一开始$a指向的1001的地址给删掉,$b指向的新的内存地址1001并不受任何影响` `echo` `$b``; ``//所以这里会输出:1

值传递特点:一个变量的变更不会影响另外一个变量的变更,因为每一个变量指向的内存地址是不一样的,注意:每一个内存地址都指向的值是不同的。

引用传递:将一个变量的地址赋值给新的变量

在给变量赋值的时候,使用地址符号&获得一个变量的地址。

引用传值demo

//传地址``$str` `= 10; ``
//内存空间开辟一块内存存放10 随机给10分配了一块内存地址 假设改地址为:10086 $str指向10086这个地址` `$str2` `= &``$str``; ``
//$str2的值是引用了$str的内存地址,也就是说 $str2也是指向了$str的内存地址 即10086 此时$str和$str2指向同一个内存地址` `$str2` `= 110;``
//$str2指向的内存地址对应的值改为110之后,所以$str的值也会变成110,因为$str和$str2是指向的同一个内存地址,也就是说更改了其中任何一个变量的值 那么另外的变量的值也会跟着被改变` `echo` `$str``;``
//所以这里输出:110

最后附一张php变量在内存中是如何存放的内存图如下:

memory_map.jpg

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。