PHP学习笔记

94 阅读5分钟

黑马程序员PHP零基础入门到精通教程(P1基础6天)

学习日期 4.9起

PHP语法初步

<?pph 

#最后的?> 可以不带,这样php就会认为所有的语言都是php语言。
?>

PHP注释

// 行注释
# 行注释
/* 
*
 * 
 * 
 * 
 * 块注释
 */

PHP分隔符

标记结束符 ;

变量

/*
  *变量是存储计算结果,变量通常是可变的:数据
  *变量可以通过变量名来访问:数据
*/

/*
 * 1. 定义:在系统中增加变量的名字(内存)
 * 2. 赋值:可以将数据赋值给变量名(可以在定义的同时完成)
 * 3. 通过变量名来访问存储的数据
 * 4. 可以将变量从内存中删除
 */
 // 定义变量
$var1 = 9;
$var2 = 1;
// 访问变量
echo $var2;
//修改变量
$var2 = 0;
echo '<hr/>' ,$var2; // <hr/> html语言插入分割线

// 删除变量
unset($var2);

变量命名

// 变量命名
/*
 * 变量名以$开始,
 * 变量名不能以数字开头
 */

预定义变量

/*
 * 预定义变量:提前定义的变量,系统定义的变量,存储许多需要用到的数据(预定义变量都是数组)
 * $_GET     获取所有表单以get方式提交数据
 * $_POST    post提交的数据都会保存于此
 * $_REQUEST get、post提交的都会保存
 * &_GLOBALS php中所有的全局变量
 * $_SERVER  服务器信息
 * $_SESSION session会话数据   
 * $_COOKIE  cookie会话数据
 * $_ENV     环境信息
 * $_FILES   用户上传文件信息
 * 
 */

可变变量

/*
 * 可变变量:如果一个变量的值刚好是另外一个变量的名字。
 *那么可以直接通过访问一个变量得到另外一个变量的值:变量前面再加一个$符号
 * 
 * 
 */
$a = 'b';
$b = 'nn';
echo $a; 			#找到$a,解析结果为b
echo $$a;			#将前面的$与结果b绑定结果为$b,然后解析

变量传值


/*
 * 变量传值概念:讲一个变量赋值给另外一个变量
 * 1. 值传递:将变量保存的值赋值一份然后将新的值给另外一个变量保存(两个变量没有关系)
 * 2. 引用空间: 将变量保存的值所在的内存地址,传递给另外一个变量:两个变了指向同一块内存空间(两个变量是同一个值)
 *
 */

//值传递
echo '值传递';
echo '</br>';
$a = 1;
$b = $a;
$a = 30;
echo $a;
echo '</br>';
echo $b;
echo '<hr/>';
//引用传递:引用的是地址
echo '引用传递:引用的是地址';
echo '</br>';
$c = 0;
$d = &$c;
$c = 8;
echo $c,'</br>',$d;

常量

常量的概念

// 常量
/*
 * 定义:与变量一样保存数据;常量不可改变的量(数据)
 * 常量一旦定义,通常数据不可改变(用户级别)
 * 常量名字的命名通常以大写字母为主(与变量做区别)
 * 两种方式
 *  1. define(‘常量名’,常量值);
 *  2. const 常量名 = 常量值;
 * const 更适合用于类常量或者全局常量的简单定义,
 * 而 define 在需要动态定义常量或者需要不区分大小写的常量名时更有用。
 */

define('pi',3.14);
const pii = 3;
echo pi,'</br>',pii;

常量的使用形式

// 与变量一样,直接访问常量的名字
// 访问特殊的常量名,需要使用constant

define('-_-',87);
echo constant('-_-');

常量和变量区别:

  1. 凡是数据可能变化的,那么肯定是用变量
  2. 数据不一定会变的,可以使用常量或者变量(变量居多)
  3. 数据不允许被修改,一定用常量

系统常量

数据类型

八种类型

// 数据类型
/*
 * php中将数据分为三大类八小类:
 * 基本的数据类型:4个小类
 *      1.整型:int/integer ,系统分配4个字节存储,表示整数类型(有存储)
 *      2.浮点数:float/double 8个字节存储,表示小数或者整型村不晓得整数
 *      3.字符串:string 系统根据实际长度分配,表示字符串需要有“”
 *      4.布尔类型:bool/boolean,只有两个值  true 和 false
 *
 * 符合数据类型:2个小类
 *      1.对象类型:object,存放对象(面向对象)
 *      2.数组类型:array 一次性储存多个数据
 * 
 * 特殊数据类型:2个小类
 *      1.资源类型:resource,存放资源数据(php外部数据,如数据库、文件)
 *      2.空类型:NULL 只有一个值就是NULL(不可运算)
 */

类型转换

/*
  * 类型转换:在很多的条件下,需要指定的数据类型,需要外部数据(当前php取得的数据),转换成目标数据类型
  *
  * 在php中有两种类型转换方式
  *     1.自动转换:系统根据需求自己判定、自己转换(用的比较多、效率低)
  *     2.强制(手动)转换:认为根据需要的目标类型转换
 *          强制转换规则:在变量之前加一个(),然后在里面写上对应类型:int/integer ........其中NULL类型要用到unset()
  * 在转换过程中,用的比较多的就是转布尔类型(判断)和转数值类型(算术运算)
  *
  * 其他类型转布尔类型 true false,少类型会转为false
  */

/*
 *
 *  其他类型转数值说明
 *      1.布尔true为1,false为0
 *      2.字符串转数值有自己规则
 *          2.1 以字母开头的字符串,永远为0
 *          2.2 以数字开头的字符串,取到碰到字符串为止(不会同时包含两个小数点)
 */

// 创建数据
$e = 'asd1.1.2';
$w = '1.4.5asd';
// 自动转换
echo $e . $w; // 字符串用.拼接
// 输出换行
echo '<br/>';
// 强制转换
echo (float)$e, '<br/>', (float)$w;

补充:

1 、var_dump() 是一个很实用的函数,它的主要功能是输出变量的详细信息,这些信息包含变量的类型和值。此函数在调试代码时非常有用

2 、在 PHP 里,empty() 是一个用于判断变量是否为空的函数,而 NULL 是一种数据类型,代表变量没有值

3 、empty() 是一个用于判断变量是否为空的函数,判断范围较广;而 NULL 是一种数据类型,仅用于表示变量没有值。在实际使用中,要依据具体需求来选择合适的判断方式。

运算符

赋值、算术、比较

次笔记只记录几个容易忘的

= 赋值,将右边地址复制给左边

== 左边与右边相同(大小相同)

!= 左边与右边不同(大小不同)

=== 全等于,左边与右边相同:大小以及数据的类型都相同

!== 不全等,只有大小或者类型不同

逻辑运算符

&& 与 左右条件同时成立(两边都为true)

|| 或 左边条件或者右边条件只要有一个满足即可

! 非 对已有条件进行取反,本身为true去反结果为false

$q = 'good';
$t = 'weekend';

// && 逻辑与
var_dump($q == 'good' && $t = 'weekend');

// || 逻辑或
var_dump($q == 'good' || $t == 'weekend!');

// !非
var_dump($q == 'goods');
var_dump(!($q == 'goods'));

连接运算符

将多个字符串拼接的一种符号