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

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/jlu16/article/details/79177697

前言

简要记录了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
展开阅读全文

没有更多推荐了,返回首页