《PHP和MySQL Web开发》阅读总结—1

前言

简要记录了PHP的标识符变量常量作用域操作符变量的几个常用函数

标识符

PHP中变量的标识符由$开头,后接字母,数字,下划线。

变量的标识符区分大小写。如 $var 与 $VAR 是不同的。

函数的标识符不区分大小写! 对 FOO() 与 foo() 进行的是等价的调用。

一个变量的名称可以和函数的名称相同,但是不建议这么做。

变量

PHP变量有以下几种数据类型

  • Integer (整数)
  • Float (浮点数,也叫Double)
  • String (字符串)
  • Boolean (布尔值)
  • Array (数组)
  • Object (对象) 用来保存类的实例
  • NULL (空)
  • resource (资源) 代表外部资源,如数据库链接

对变量类型的判断可以利用下文将要提到的函数。

类型转换类似于C语言,如:

$float_var = (float)$int_var

可变变量:这算是PHP中的特色了。一个例子就很容易明白是什么意思。

$var = 1;
$var_name = 'var';
echo $$var_name; //output: 1

单引号与双引号中字符串的不同:双引号支持插值操作,即用字符串内容来代替变量。

$var = 'happy';
echo "I have a $var day !"; //output: I have a happy day !
echo 'I have a $var day !'; //output: I have a $var day !

常量

在PHP中使用define函数来定义常量。

define('YEAR',2018);

使用常量时,不需要加$。

习惯使用全大写字母来定义常量,但这不是必须的。

一个例子:

define('YEAR',2019);
echo "Next year is YEAR"; //output : Next year is YEAR
echo 'Next year is YEAR'; //output : Next year is YEAR
echo "Next year is ".YEAR; //output : Next year is 2019

常量不支持双引号的插值操作!

作用域

作用域基本规则:

  • 内置的超级全局变量可以在脚本的任何地方使用和可见。
  • 一个脚本中声明的全局变量在整个脚本可见,但在函数内部不可见。
  • 常量一旦被声明,将可以在全局可见。这里的全局并非全局变量的全局范围,常量也可以在函数内直接使用。
  • 函数内部创建的(非静态)变量当函数终止时就不存在了。
  • 函数内部创建的静态变量无法在函数外部可见,但是在函数多次执行过程始终保持该值。

假设想在函数内部使用全局变量:

  • 在函数内部使用global关键字声明,如使用全局变量a:global a;。
  • 通过全局变量数组进行访问,如使用全局变量a: $GLOBALS[‘a’]。

操作符

PHP中的大多数运算符和C语言中一致,下面主要记录一些特殊的操作符。

& 引用操作符:通常将一个变量的值赋给另一个变量时,先创建原变量的一个副本,然后将被赋值变量指向该副本。使用引用操作符可以避免该副本的产生,使得被赋值变量和原变量指向同一块内存。

$a = 0;
$b = &$a;
$b = 1; //$a$b 都变为 1

可通过unset解除引用

===与!==操作符:当操作符两侧为整数,浮点数,字符串或波尔值时,当两边操作数相等且具有同种数据类型时恒等操作符成立,反之不成立。当操作符两侧为数组时,当两边数组具有相同的键值对且顺序相同时恒等操作符成立,反之不成立。

0 == '0'; //true
0 === '0' //false

类型操作符: instanceof检查一个对象是否为特定类的实例。

变量几个常用函数

settype与gettype: gettype接受一个变量并返回一个包含变量类型的字符串。settype接受一个变量和一个数据类型用于将变量设置为指定的数据类型。

$a = 1;
gettype($a);
settype($a,'double');

isset,unset与empty:

isset函数接受一个变量并返回一个波尔值用于判断该变量是否存在。

unset用来销毁一个存在的变量。

empty检查一个变量是否存在以及它的值是否为非空和非零。

变量重解释

即调用函数将某变量转换为指定的数据类型。

int intval($var [, int $base]);

float floatval($var);

string strval($var);

如:

intval('42'); //42
第一篇 使用PHP 第1章 PHP快速入门教程 1.1 开始之前:了解PHP 1.2 创建一个示例应用:Bob汽车零部件商店 1.2.1 创建订单表单 1.2.2 表单处理 1.3 在HTML中嵌入PHP 1.3.1 使用PHP标记 1.3.2 PHP语句 1.3.3 空格 1.3.4 注释 1.4 添加动态内容 1.4.1 调用函数 1.4.2 使用date()函数 1.5 访问表单变量 1.5.1 简短、中等以及长风格的表单变量 1.5.2 字符串的连接 1.5.3 变量和文本 1.6 理解标识符 1.7 检查变量类型 1.7.1 PHP的数据类型 1.7.2 类型强度 1.7.3 类型转换 1.7.4 可变变量 1.8 声明和使用常量 1.9 理解变量的作用域 1.10 使用操作符 1.10.1 算术操作符 1.10.2 字符串操作符 1.10.3 赋值操作符 1.10.4 比较操作符 1.10.5 逻辑操作符 1.10.6 位操作符 1.10.7 其他操作符 1.11 计算表单总金额 1.12 理解操作符的优先级和结合性: 1.13 使用可变函数 1.13.1 测试和设置变量类型 1.13.2 测试变量状态 1.13.3 变量的重解释 1.14 根据条件进行决策 1.14.1 if语句 1.14.2 代码块 1.14.3 else语句 1.14.4 elseif语句 1.14.5 switch语句 1.14.6 比较不同的条件 1.15 通过迭代实现重复动作 1.15.1 while循环 1.15.2 for和foreach循环 1.15.3 do...while循环 1.16 从控制结构或脚本中跳出 1.17 使用可替换的控制结构语法 1.18 使用declare 1.19 下一章 第2章 数据的存储与检索 2.1 保存数据以便后期使用 2.2 存储和检索Bob的订单 2.3 文件处理 2.4 打开文件 2.4.1 选择文件模式 2.4.2 使用fopen()打开文件 2.4.3 通过FTP或HTTP打开文件 2.4.4 解决打开文件时可能遇到的问题 2.5 写文件 2.5.1 fwrite()的参数 2.5.2 文件格式 2.6 关闭文件 2.7 读文件 2.7.1 以只读模式打开文件:fopen() 2.7.2 知道何时读完文件:feof() 2.7.3 每次读取一行数据:fgets()、fgetss()和fgetcsv() 2.7.4 读取整个文件:readfile()、fpassthru()和file() 2.7.5 读取一个字符:fgetc() 2.7.6 读取任意长度:fread() 2.8 使用其他有用的文件函数 2.8.1 查看文件是否存在:file_exists() 2.8.2 确定文件大小:filesize() 2.8.3 删除一个文件:unlink() 2.8.4 在文件中定位:rewind()、fseek()和ftell() 2.9 文件锁定 2.10 更好的方式:数据库管理系统 2.10.1 使用普通文件的几个问题 2.10.2 RDBMS是如何解决这些问题的 2.11 进一步学习 2.12 下一章 第3章 使用数组 3.1 什么是数组 3.2 数字索引数组 3.2.1 数字索引数组的初始化 3.2.2 访问数组的内容 3.2.3 使用循环访问数组 3.3 使用不同索引的数组 3.3.1 初始化相关数组 3.3.2 访问数组元素 3.3.3 使用循环语句 3.4 数组操作符 3.5 多维数组 3.6 数组排序 3.6.1 使用sort()函数 3.6.2 使用asort()函数和ksort()函数对相关数组排序 3.6.3 反向排序 3.7 多维数组的排序 3.7.1 用户定义排序 3.7.2 反向用户排序 3.8 对数组进行重新排序 3.8.1 使用shuffle()函数 3.8.2 使用array_reverse()函数 3.9 从文件载入数组 3.10 执行其他的数组操作 3.10.1 在数组中浏览:each()、current()、reset()、end()、next()、pos()和prev() 3.10.2 对数组的每一个元素应用任何函数:array_walk() 3.10.3 统计数组元素个数:count()、sizeof()和array_count_values() 3.10.4 将数组转换成标量变量:extract() 3.11 进一步学习 3.12 下一章 第4章 字符串操作与正则表达式 4.1 创建一个示例应用程序:智能表单邮件 4.2 字符串的格式化 4.2.1 字符串的整理:chop()、ltrim()和trim() 4.2.2 格式化字符串以便显示 4.2.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值