PHP基础

一 变量

变量的使用

<?php
$a = 2;
$A = 'Hello';           //定义变量
unset($a);              //删除变量

变量的种类

预定义变量

预定义变量:提前定义的变量,系统定义的变量,存储许多需要用到的数据(预定义变量都是数组)。

这里列举几个重要的预定义变量

$_ GET: 获取所有表单以get方式提交的数据。
$_ POST: POST提交的数据都会保存在此。
$_ REQUEST: GET和PQST提交的都会保存。
$GLOBALS: PHP 中所有的全局变量。
$_ SERVER:服务器信息。
$_ _SESSION: session 会话数据+
$_ COOKIE: cookie 会话数据。
S_ ENV: 环境信息+
$_ FILES: 用户上传的文件信息。

可变变量

可变变量:如果一个变量保存的值刚好是另一个变量的名字,那么可以直接通过访问一个变量得到另一个变量的值:在变量前多加一个$。

$A = 'Hello';
$AA = 'A';
echo $$AA;

变量传值

变量传值:将一个变量赋值给另一个变量。

值传递:将变量保存的值赋值-份, 然后将新的值给另外一个变量保存。

引用传递:将变量保存的值所在的内存地址,传递给另外一个变量。

<?php
//值传递
$a = 1;
$b = $a;
$a = 2;
echo $a.$b.'<br>';
//引用传递
$c = 1;
$d = &$c;
$c = 2;
echo $c.$d.'<br>';

输出结果为

21

22

常量

常量的定义和使用

//常量的定义
//1.使用函数定义
define('-_-','smile');
//2.使用const
const PI = 3.14;
echo PI;
echo constant('-_-');
//特殊字符使用需要使用constant函数


define("GREAT", "abc", true);        //常量不区分大小写
define("GREAT", "abc");              //常量区分大小写

常量的使用与变量相同,定义时必须赋值。

如果常量名为特殊符号,必须使用define来定义。

注:常量是全局的。

系统常量

PHP_ _VERSION: PHP 版本号。
PHP_ INT_ SIZE: 整形大小。
PHP_ _INT_ MAX:整形能表示的最大值。

魔术系统常量

在PHP中还有一些特殊的常量,他们有双下划线开始+长两名+双下划线结束,这种常量称之为系统魔术常量:魔术常量的值通常会跟着环境变化,但是用户改变不了。

_DIR__ :当前被执行的脚本所在电脑的绝对路径。
_FILE__ :当前被执行的脚本所在的电脑的绝对路径(带自己文件的名字)。
_LINE_ : 当前所属的行数。
_NAMESPACE_ : 当前所属的命名空间。
_CLASS_ :当前所属的类。
_METHOD_ :当前所属的方法。 

数据类型

数据类型分类

简单数据类型

整型: int/integer, 系统分配4个字节存储。

在PHP中提供了四种整型的定义方式:十进制定义,二进制定义,八进制定义和十六进制定义。

$a= 120;       //10进制
$a=0b110;       //2进制
$a=0120;        //8进制
$a=0x120;      //16进制

//默认输出时会转换为十进制

浮点型: float/double,系统分配8个字节存储,表示小数或者整型存不下的整数。

字符串型: string, 系统根据实际长度分配。

布尔型: bool/boolean, 只有两个值: true 和false。

复合数据类型

对象类型: object, 存放对象。

数组类型: array, 存储多个数据(一次性)。

特殊数据类型

资源类型: reresource, 存放资源数据(PHP外部数据,如数据库、文件)。

空类型: NULL, 只有一个值就是NULL (不能运算)。

类型转换

转布尔类型

其他类型转数值

1、布尔true为1,false为0;。
2、字符串转数值
以字母开头的字符串,永远为0。
以数字开头的字符串,取到碰到字符串为止(不会同时包含两个小数点)。

判断数据类型

判断是否为该类型

<?php
$p = 3.14;
var_dump(is_int($p));

输出bool类型不能使用echo,需要使用var_dump()函数。

判断是何类型

Gettype():获取类型,得到的是该类型对应的字符串。

Settype():设定数据类型。

注:与强制转换不同

1、 强制转换(类型)变量名,是对数据值复制的内容进行处理(不会处理实际存储的内容)。

2、settype() 会直接改变数据本身。

错误抑制符

在PHP中有一些错误可以提前预知,但是这些错误可能无法避免,但是又不希望报错给用户看,可以使用错误抑制符处理。
@:在可能出错的表达式前面使用@符号即可。

<?php
$p = 3.14;
$q = 0;
//$m = $p / $q;      //报错
@$m = $p / $q;

位运算符

&:按位与,两个位都为1,结果为1,否则为0。
|:按位或,两个有一个为1,结果为1。
~:按位非,一个位如果为1则变成0,否则反之。
^:按位异或,两个相同则为0,不同则为1。
<<:按位左移,整个位(32 位),向左移动- -位,右边补0。
>>: 按位右移,整个位向右移动一位,左边补符号位对应内容(正数补0,负数补1)。

运算符

组合运算符

PHP7+ 支持组合比较符也称之为太空船操作符,符号为 <=>。<返回-1,=返回0,>返回1.

数组运算符

从上大小优先级降低

文件包含

向上包含:使用文件的内容

向下包含:在另外文件中使用

  • include:可以包含多次
  • include_once:只能包含一次 
  • require和require_once:出现错误不会继续运行

函数

系统函数参考参考手册

可变函数

<?php
function foo($a,$b){
    return $a($b);
}

function foo2($a){
    return $a * $a;
}
echo foo("foo2",10);

 匿名函数

<?php

$fun = function($a){
    return $a * $a;
};

echo $fun(10);

闭包函数

<?php

function display(){
    $name = __FUNCTION__;
    $fun = function() use($name){        //让函数可以使用外部变量
        return $name;
    };
}
display();

数组

<?php
$arr = array("a","b");
echo count($arr);             //获取数组长度

//关联数组
$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");
//或者
$age['Peter']="35";
$age['Ben']="37";
$age['Joe']="43";

//遍历关联数组
foreach($age as $x=>$value)
{
    echo "Key=" . $x . ", Value=" . $value;
    echo "<br>";
}

数组排序

  • sort() - 对数组进行升序排列
  • rsort() - 对数组进行降序排列
  • asort() - 根据关联数组的值,对数组进行升序排列
  • ksort() - 根据关联数组的键,对数组进行升序排列
  • arsort() - 根据关联数组的值,对数组进行降序排列
  • krsort() - 根据关联数组的键,对数组进行降序排列
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值