PHP 1 PHP的基本语法

一一、什么是PHP  超文本预处理器 HyperText Preprocessor
一二、变量的定义
1、以$开头 只能由数字 字母 下划线组成 不能有特殊字符 数字不能开头 不能使用中文
2、赋值号两边要加空格 左边是变量  右边是值
3、变量名区分大小写 最好用英文
一三、注释
1、注释 单行注释 // #
2、多行注释 /**/
一四、单双引号的区别
1、单引号比双引号效率高
2、双引号解析变量 单引号不解析变量 但解析' \ 但需要在它们之前加上转义字符 如\'  \\
3、单双引号要嵌套使用 不能自己套自己
【注】 字符拼接用. 也是一个运算符 .的左右两边的数据都会转换成字符串类型
一五、一些函数
$_SERVER['REMOTE_ADDR'] 获取正在访问页面用户的ip地址
$_SERVER['HTTP_REFERER'] 获取来源页的地址
unset() 用来销毁变量
var_dump() 打印详细信息
isset() 检测一个变量是否被定义 
empty() 检测一个变量是否为空
【注】 empty($x) boolean(if($x)) 这两组的值完全是相反的
is_null()  isset() 两组的值是完全相反的
一六、echo print print_r var_dump的区别,效率如何
echo 只能输出变量或者字符(可以多个) 如果输数组会报错且输出Array
print    只能输出单个字符或者变量  
print_r  可以输出多个变量或单个变量 还可以输出数组之类的 与var_dump相比信息没有那么详细 还有一些系统常量无法输出
var_dump 万能的  还有详细信息  
echo 的效率高于print
一、数据类型
四种标量:整型(integer) 字符型(float) 布尔型(boolean) 浮点型(float)
混合类型:数组(array) 对象(object)
特殊类型:空(null) 资源(resource)
二、函数
echo 输出语句
要输出的值
如果是bool类型的
true : 1
false: 无输出
其他类型: 输出本身
【注】 不能输出函数 只是语句块 只能输出标量,标量中的bool类型比较特殊
print 只能输出单个的字符 无法输出多个 也无法输出数组
print_r() 大多的功能跟var_dump一样  但是输出的方式跟一些具体的值不一样 还有一些系统常量可以无法用它输出
gettype(参数) 只是获取变量(包括数组)的类型 不会打印出来
var_dump() 
print_r var_dump
同:都可以输出任何类型的数据 包括数组
异:输出的格式和一些具体的信息的不同
print_r
如果输出的是单个字符 直接输出值
Array([0(下标)] =>具体的值  [1(下标)] =>具体的值 )
var_dump
如果输出的是单个字符 会输出路径 行数 类型 值
array(size=数组个数)
0(下标) => 类型 具体的值
1(下标) => 类型 具体的值
下面这些函数都可以用四种方式中的一种去输出
【注】 用var_dump输出 单数据类型为bool时输出true、false  其他的三种为true时都输出1 为假是都没有输出
is_int() 判断是否为整型
is_bool()
is_float(()
is_string()
define('变量名',变量值) 定义一个常量
defined(变量名)
is_numeric() 判断是否为数字
is_object()
is_resource()
is_scalar() 判断是否为标量
三、强制类型转换
1、类型转换函数 strval() intval() floatval() boolvar() 但不会改变被强转的变量的本身
2、变量前加上()里面写上类型 但不会改变被强转的变量的本身
3、settype(变量,'类型');第二个参数必须带上单引号 而且这种方式是直接改变被强转的变量的本身
【注】 settype($a,null) 会直接把$a销毁 等于unset($a)
【注】 浮点型的变量在进行算术运算时,不会发生变化 但是在进行取模运算的时候需要先变成整型再去进行运算
【注】 进行数据类型转换时,应注意一些情况
1、当空转换成整型时会成为整形的0 装换成浮点型时会成为浮点型的0 转换成字符串时会成为空字符串
2、浮点型转换成整型时会舍去后面的小数点 转换成字符串型时,小数点的最后面如果是0则可以省略;
3、字符串型转换成整型或浮点型时,如果第一个字符就不是数字 则转换的值为0  如果前面的字符是数字则取前面数字的部分,如果数字后面带有字母,字母后面又有数字 后面的数字是不生效的
四、自动类型转换
bool
=> float 0 1 (不过是float类型的)
=> int   0 1 (不过是int类型的)  
string 开头不是数字(直接是0 不管是转成int 还是float 类型的)
=> float 数值(或者是省略后面0的数值) 
=> int 只取整数(小数点后面的都不要)
五、各类型转到bool类型的一些特殊情况
1、整型的0转成bool类型时为假
2、浮点型的0.00....只要后面都是0 则转成字符串时为结果0
而转成bool类型时结果为false
3、空字符串转成bool类型为false(空格算字符)
4、字符串的0转成bool类型为false 如果不止一个0就是true了
5、空数组转成bool类型也是false
6、值为null的变量转成bool也是false
7、未声明成功资源的资源也为假
六、常量的定义
define('变量名',变量值);
【注】 1、常量在程序运行过程中 其值不可以改变 使用时直接调用就可以了 不能被unset销毁或改变
2、常量值只能为标量
3、常量名只能用大写(小写也能识别)
4、常量名需加上引号
5、字符串中调用常量时,常量必须在引号外面,不然就直接当普通字符输出了
6、常量名只用字母和下划线
7、常量全局都有效(同一个程序的不同代码文件里面呢)
七、常用系统常量(4种输出方式都是有效的)
__LINE__ 输出当前行数
__FILE__ 输出当前文件的路径
__DIR__ 输出当前目录
PHP_OS 输出支持当前软件的操作系统
PHP_VERSION 输出当前软件的版本
//__FUNCTION__ (只能用var_dump()输出) 输出当前的函数
//__CLASS__
//__METHOD__
//__NAMESPACE__
七、超全局变量
$GLOBALS 一个包含了全部变量的全局组合数组。变量的名字就是数组的键
$foo = "local variable";
echo $GLOBALS["foo"]
$_SERVER $_SERVER 是一个包含了诸如头信息(header)、路径(path)、以及脚本位置(script locations)等等信息的数组。
'REMOTE_ADDR' 浏览当前页面的用户的 IP 地址。  
'HTTP_REFERER' 输出当前页的前一页的地址(如果存在)。
$_GET 通过 URL 参数传递给当前脚本的变量的数组。GET 是通过 urldecode() 传递的。 
$_POST 通过 HTTP POST 方法传递给当前脚本的变量的数组。
$_REQUEST 1、包含了 $_GET,$_POST 和 $_COOKIE 的数组。
2、以命令行方式运行时,将不包含 argv 和 argc 信息;它们将存在于 $_SERVER 数组。 
3、由于 $_REQUEST 中的变量通过 GET,POST 和 COOKIE 输入机制传递给脚本文件,因此可以被远程用户篡改而并不可信。这个数组的项目及其顺序依赖于 PHP 的 variables_order 指令的配置。
$_ENV 通过环境方式传递给当前脚本的变量的数组。
这些变量被从 PHP 解析器的运行环境导入到 PHP 的全局命名空间。

$_FILES 通过 HTTP POST 方式上传到当前脚本的项目的数组。
$_COOKIE 通过 HTTP Cookies 方式传递给当前脚本的变量的数组。
$_SESSION 当前脚本可用 SESSION 变量的数组。
八、可变变量(多级的$调用)
$hello='world';
$world='_123';echo $$hello;  的结果为123 
$_123='456';  echo $$$hello; 的结果为456
九、变量的引用
传值引用  只是赋值($a=$b)
传参引用  两个变的地址为同一个($a=&b)
十、算术运算符(只能是四种标量之间 而且bool )
进行运算时,bool跟string会自动转换成float或int类型参与运算
转换成int 还是float会根据string的具体的值看情况 如果带了点就是float的 
例:$z = 123;
$x = true;
$name = $z.$x+1;
var_dump($name);  结果为 int 1232
先把$x转成int/float 型的1 如过$z是整型就是变成整型 如果$z是float就是float类型 变成1231 把它看成一个数字再加上那个1



















































































  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值