PHP 基础语法 1
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
块注释:/* 注释内容 */
/*
这里是注释
以下内容是某个业务逻辑
*/
块注释通常在函数(方法)的地方使用,形式如下
注意: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 中字符串的表示方式有三种:单引号,双引号,定界符 //定界符这里暂时先不记录
单引号:将字符串用单引号包裹起来
双引号:将字符串用双引号包裹起来
单引号和双引号的区别?
区别有两点:
双引号中能够使用更多的转义字符\r\n\t 单引号:' 双引号:"\r\n\t
双引号中能够解析 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 案例如下:
传值
变量间的赋值
变量间的传值分为两种:值传递和引用传递
值传递:将一个变量的值赋值一份,然后赋值给新的变量
传值 demo:
值传递特点:一个变量的变更不会影响另外一个变量的变更,因为每一个变量指向的内存地址是不一样的,注意:每一个内存地址都指向的值是不同的。
引用传递:将一个变量的地址赋值给新的变量
在给变量赋值的时候,使用地址符号 &获得一个变量的地址。
引用传值 demo
最后附一张 php 变量在内存中是如何存放的内存图如下:
版权声明: 本文为 InfoQ 作者【乌龟哥哥】的原创文章。
原文链接:【http://xie.infoq.cn/article/9735718218477989ca937a86b】。文章转载请联系作者。
评论