PHP学习笔记--第一章

参考教材:PHP和MySQL Web开发(原书第五版)

软件及环境安装

PHP快速入门

PHP以分号来分隔语句
PHP注释
*单行注释://或者#
*多行注释:/*回车*/
调用函数
函数名(参数)例:date(‘H:i,jS F’)
访问表单变量

    包含表单数据的三个数组:$_POST、$_GET、$_REQUEST
    $_POST、$_GET保存所有表单变量的详细信息,根据提交表单使用的方法确定(GET、		POST)
    $_REQUEST可以获得GET和POST提交的数据组合
    如果表单是通过POST方法提交的,tireqty文本输入框中的数据将保存在$_POST['tireqty']中
    如果表单是通过GET方法提交的,数据将保存在$_GET['tireqty']中
    无论哪种情况,都可以通过$_REQUEST['tireqty']得到

在浏览器显示数据的两种方式

echo $tireqty.' tires
';//不推荐 echo htmlspeacialchars($tireqty).' tires
'//用户数据传递给htmlspecialchars()函数并返回后,可以将返回的数据回显。

字符串操作

字符串连接

 echo htmlspeacialchars($tireqty).' tires
'//字符串连接符. $tireqty = htmlspecialchars($tireqty); echo ”$tireqty tires
“;//使用插补的方式,即用一个字符串的内容来替代一个变量的操作就是插补 //注意插补操作只是双引号引用的字符串的特性,不能放到单引号中

字符串类型
一种是具有双引号的,一种是具有单引号的。PHP将计算双引号字符串,而单引号字符串将被当成真正的字面量。
第三种指定字符串的方法:heredoc语法(<<<),他也是插补的,如同双引号

echo <<

PHP标识符

标识符可以由任意个任何字母、数字、下划线组成
标识符不能以数字开始
标识符严格区分大小写
变量名称可以与函数名称相同,但容易造成混淆。函数不能同名

PHP数据类型

Integer(整数):用来表示整数
Float(浮点数,也叫Double,双精度):用来表示所有的实数
String(字符串):用来表示字符串
Boolean(布尔):用来表示true或false
Array(数组):用来保存具有相同类型的多个数据项
Object(对象):用来保存类的实例
——三个特殊类型——
NULL(空):用来表示没有被赋值、已经被重置或为特殊值NULL的变量
resource(资源):特定的内置函数,例如数据库函数将返回resource类型的变量,通常由函数返回并作为参数传递给其他函数,基本上不能直接操作。
callable:可以传递给其他函数的函数。

PHP可以在任何时间根据保存在变量中的值来变更数据类型,PHP将自动获得输入的数据类型

类型转换

	$totalqty = 0;
	$totalamount = (float)$totalqty;//取出保存在$totalqty中的变量值,将其解释称一个浮点型,并保存在$totalamount中,其会编程浮点类型

可变变量

$varname = 'tireqty';//工作原理是用一个变量的值作为另一方变量的名称
$$varname = 5;//用$$varname取代$tireqty

$tireqty = 5;//等价与上面代码

声明和使用常量

define('TIREPRICE',100);//习惯上用全大写字母声明常量。与变量做区分
define('OILPRICE',10);
define('SPARKPRICE',4);

echo TIREPRICE;//常量使用

phpinfo();//PHP预定义了许多常量,通过这个方法了解这些常量

变量作用域

*内置超级全局变量可以在脚本的任何地方使用和可见。
*常量,一旦被声明,将可以在全局可见---可以在函数内外使用。
*在一个脚本中声明的全局变量在整个脚本是可见的,但不是在函数内部。
*函数内部使用的变量声明为全局变量时,其名称要与全局变量名称一致。
*在函数内部创建并被声明为静态的变量无法在函数外部可见,但是可以在函数的多次执行过程中保持该值。
*在函数内部创建的变量对函数来说是本地的,当函数终止时,该变量就不存在了。
超级全局变量
$GLOBALS,所有全局变量数组
$_SERVER,服务器环境变量数组
$_GET,通过GET方法传递给该脚本的变量数组
$_POST,通过POST方法传递给该脚本的变量数组
$_COOKIE,cookie变量数组
$_FILES,与文件上载相关的变量数组
$_ENV,环境变量数组
$_REQUEST,所有用户输入的变量数组
$_SESSION,会话变量数组

操作符

$result = $a + $b - $c * $d /10;//加减乘除
$a = -1;//符号

$a = 27;//赋值操作符
$b = 10;
$result = $a%$b;//取余运算

$b = 6 + ($a = 5);//赋值运算符也会返回一个值,$b的值是11。

$a +=5;//复合赋值操作符
$a -=$b;
$a *=$b;
$a /=$b;
$a %=$b;
$a .=$b;//等价于 $a = $a.$b;//字符串连接

$a = 5;
$b = &$a;//引用操作符,$a的值发生改变,$b也会跟着变,$a与$b指向了相同的内存空间
$a = 7;//现在$a与$b都是7
unset($a);//重置操作冰壶会改变$b(7)的值,但是可以破坏$a和值7在内存中地址的连接

$a == $b;//等于操作符,测试两者的值是否相同,返回true
$a === $b;//恒等操作符,只有操作数相等并且具有相同的数据类型时才返回true
!= 不等
!== 不恒等
<> 不等
< 小于
> 大于
<= 小于等于
>= 大于等于

逻辑操作符

位操作符

其他操作符
condition ? value if ture :value if false//三元操作符,与c用法相同
$a = @(27/0);错误抑制操作符,如果没有@符号,会产生一个除零警告,使用这个操作符后,错误被抑制

执行操作符

数组操作符
+			联合		$a+$b			返回一个包含两者中所有元素的数组
==			等价		$a == $b		如果两者具有相同的键值对,返回true
===			恒等		$a === $b		符合上者并且相同的顺序,返回true
!=			非等价		$a !=$b			如果两者不是等价的,返回true
<>			非等价		$a<>$b			如果两者不是等价的,返回true
!==			非恒等		$a!==$b			如果两者不是恒等的,返回true

类型操作符 instanceof 允许检查一个对象是否为特定类的实例·
class sampleClass();
$myObject = new sampleClass();
if($myObject instanceof sampleClass)
echo "myObject is an instance of sampleClass";

使用变量处理函数

测试和设置变量类型
String gettype(mixed var);//传递一个变量,返回包含类型名称的字符串 bool、int、double、string、array、object、resource、NULL、unknown type
settype(mixed var,string type);//传递一个变量,传递一个上述的类型

特定的类型检测函数
is_array():检查变量是否是数组
is_double()、is_float()、is_real():检查变量是否是浮点数(所有都是相同的函数)
is_long()、is_int()、is_integer():检查变量是否是整数,同上
is_string():检查变量是否是字符串
is_bool():检查变量是否是布尔值
is_object():检查变量是否是一个对象
is_resource():检查变量是否是一个资源
is_null():检查变量是否是null
is_scalar():检查变量是否是标量,也就是,是否为整数、布尔值、字符串或者浮点数
is_numeric():检查变量是否是任何类型的数字或数字字符串
is_callable():检查变量是否是有效的函数名称

检测变量的状态(用来确保用户正确填写表单)
bool isset(mixed var[,mixed var[,…]])传递一个参数,如果这个参数存在则返回true,也可以传递一个由逗号间隔的变量列表,所有变量都被设置了,就返回true
unset(mixed var[,mixed var[,…]])销毁一个传进来的变量
bool empty(mixed var)检查一个变量是否存在

变量的重解释
int intval(mixed var[,int base=10])
float floatval(mixed var)
string stral(mixed var)
每个函数都需要接受一个变量作为其输入,然后再将变量值转换成适当的类型返回。
intval()函数也允许在要转换的变量为字符串时指定转换的进制基数,如16禁止字符串转换成整数

分支结构与循环结构

if语句
if(判断条件){
代码块
}//代码块只有一条语句可以不写括号

else语句
if(判断条件){
}else{
}

elseif语句
if(判断条件){
}elseif(判断条件){
}elseif(判断条件){
}

switch语句
switch(变量名){//可以是字符串也可以是常数
case “变量值1” :
语句;
break;
case “变量值2” :
语句;
break;
case “变量值3” :
语句;
break;
case “变量值4” :
语句;
break;
default:
语句;
break;
}

while循环
while(condition) expression;

for循环和foreach循环(未完)
for(expression1;condition;expression2)
expression3;

do…while循环
do
expression;
while(conditon);

从控制结构或脚本中跳出
break;结束循环
continue;跳到下一次循环
exit;结束整个PHP脚本的执行

使用其他控制结构语法
if($totalqty == 0) :
echo “you did not order anything on the previous page!”
exit;
endif;
类似的关键字还有 endswitch、endwhile、endfor、endforeach

使用declare(未完成)

你可能感兴趣的:(PHP,PHP)