PHP语法笔记

我们在PHP中的变量也是如此。不过有几个特点:

1.必须要以$开始。如变量x必须要写成$x

2.变量的首字母不能以数字开始

3.变量的名字区分大小写

4.变量不要用特殊符号、中文。_不算特殊符号

5.变量命名要有意义(别写xxx,aaa,ccc这种 变量名)


【重要知识点】

PHP面试题中,高概率面试题(建议背诵并实验三遍以上)

1.双引号解析变量,但是单引号不解析变量。[双引号需要解析变量,因此双引号的效率没有单引号高。我们如果为了更高的效率,我们通常使用单引号。]

2.在双引号里面插入变量,变量后面如果有英文或中文字符,它会把这个字符和变量拼接起来,视为一整个变量。一定要在变量后面接上特殊字符,例如空格等分开。

<?php

$shouji = '为了苹果手机去卖肾';

$str = "$shouji 会不会显示呢?"; //变量后加空格分开

echo $str;
?>

3.如果在双引号里面插变量的时候,后面不想有空格,可以拿大括号将变量包起来。[这样就可以忽略第二点。以后遇到这种情况直接加大括号就好了,不用考虑加空格或是特殊字符]

4.双引号解析转义字符,单引号不解析转义字符。但,单引号能解析\' 和\

5.单引号效率高于双引号,尽可能使用单引号

6.双号和单引号可以互插!!!双引号当中插入单引号,单引号当中插入变量,这个变量会被解析。

7.神奇的字符串拼接胶水——(.)点,用来拼接字符串。【这样就可以忽略第三点。字符串连接就直接使用单引号,和(.)就可以了

8.我们将定界符声明字符串视为双引号一样的功能来看待。


var_dump() 是一个函数。向括号()中间插入变量。这个函数,会打印出来数据类型,还会对应显示变量的长度和值。


空在英文里面表示是null,它是代表没有。空(null)不是false,不是0,也不是空格。

【重点】知道null产生的三种情况,学习empty 和 isset两个函数的区别。

主要有以下三空情况会产生空(null)类型:

1.通过变量赋值明确指定为变量的值为NULL

2.一个变量没有给任何值

3.使用函数unset()将变量销毁掉


接下来我们来讲解两个跟null相关的函数,这两个函数非常常用,我们将级别定义为【默写级别】。

empty()可以向括号中间传入一个变量。这个变量的值如果为false或者为null的话,返回true。

isset()可以向括号中间传入一个或者多个变量,变量与变量间用逗号分开。只要有有一个变量为null,则返回false。否则,则返回true。



查看数据类型

1.gettype(传入一个变量) 能够获得变量的类型

2.var_dump(传入一个变量) 输出变类型和值


我们使用is_* 系列函数。 is_types这一系列的函数,来进行判断某个东西是不是某个类型。如果是这个类型返回真,不是这个类型返回假

is_int 是否为整型

is_bool 是否为布尔

is_float 是否是浮点

is_string 是否是字符串

is_array 是否是数组

is_object 是否是对象

is_null 是否为空

is_resource 是否为资源

is_scalar 是否为标量

is_numeric 是否为数值类型

is_callable 是否为函数




布尔值的自动类型转换

自动类型转换,就是数据类型在某些情况下,自动会变为其他的类型参与运算。自动类型转换的发生时机是:运算和判断的时候某些值会自动进行转换。下面的情况是布尔值判断时的自动类型转换

1,整型的0为假,其他整型值全为真

2, 浮点的0.0,布尔值的假。小数点后只要有一个非零的数值即为真。

3,空字符串为假,只要里面有一个空格都算真。

4,字符串的0,也将其看作是假。其他的都为真

5,空数组也将其视为假,只要里面有一个值,就为真。

6,空也为假

7, 未声明成功的资源也为假


<?php
//布尔变整型参与运算
$fo = true;
$result = $fo + 10;
//$result 结果为整型的11,因为$fo布尔的true变为了1
//如果$fo的值为0
var_dump($result);
//字符串类型
$str = '419不要爱';
$result = $str + 1;
//结果为420。因为将$str变为了整型的419参与运算
//将419放在字符串中间和结尾试试
var_dump($result);
?>



在提交数据的时候,我们常用的方法有get和post。可以这样理解,get传值在url中可见,而post传值在url中不可见。

而post传值在url中不可见,是通过浏览器的header头部份将数据发送给指定服务器的。需要通过专门的工具才能看到Post发送的值为什么。你可以下载火狐浏览器(firefox)的插件(firebug)来查看。


我们来了解一些常用的环境变量的键名和值对应的意思

键名含义

$_SERVER["REQUEST_METHOD"]请求当前PHP页面的方法

$_SERVER["REQUEST_URI"] 请求的URI

$_SERVER["SERVER_SOFTWARE"] 用的是哪一种服务器

$_SERVER["REMOTE_ADDR"] 客户的IP地址

$_SERVER["SERVER_ADDR"] 当前服务器的IP地址

$_SERVER["SCRIPT_FILENAME"] 主前请求文件的路径

$_SERVER["HTTP_USER_AGENT"] 当前访问这个网址的电脑和浏览器的情况

$_SERVER["HTTP_REFERER"] 上级来源(用户从哪个地址进入当前网页的)

$_SERVER["REQUEST_TIME"] 当前的时间



函数名不区分大小写。

函数可以重用,不能重载。

函数后如果有默认值和无默认值的参数,通常把无默认值的参数写在最前面


这是错的:

<?php
function test( $a = 20 , $b = 30 , $c ){
       echo $a + $b + $c;
}
//重点:重点看这一行执行一下
test(  ,  , 8 );
?>

这是对的:

<?php
function test( $c , $a = 20 , $b = 30){
       echo $a + $b + $c;
}
//重点:重点看这一行执行一下
test( 8 );
?>

函数体的变量与函数体外的变量没有关系

<?php
//定义变量$hello的值为10
$hello = 10;


//函数后的参数(形式上的参数,参数)处写上变量名为$hello
function demo( $hello ){

   //形参带入了函数体内,函数体内变量$hello 改为了 250
   $hello = 250;

   //输入2个250相加的结果
   echo $hello + $hello;

}


//将函数体外的变量$hello,传入变量的参数处(实际传入的参数,实参),显示出的结果为500
demo($hello);

//此处$hello的值输出,依然为10
echo $hello;
?>



自己调用自己 称之为“递归”,而不是回调

你也知道回调的关键是这个回
既然是回,那么就有一个谁是主体的问题,因为回调是往回调用的意思
我调用了函数A,而函数A在执行过程中调用了我提供的函数B,这个函数B就称为函数A的回调函数
显然主体是函数A

我们知道,函数是完成某个特定功能的代码集合,在函数执行的过程中,一般是不能去干预他的行为的
当函数被设计成带有回调功能时,我们就有可能在函数的执行过程中,通过回调函数去干预他。



GBK和UTF-8:

GBK编码:是指中国的中文字符,其它它包含了简体中文与繁体中文字符,另外还有一种字符“gb2312”,这种字符仅能存储简体中文字符。

UTF-8编码:它是一种全国家通过的一种编码,如果你的网站涉及到多个国家的语言,那么建议你选择UTF-8编码。

GBK和UTF8有什么区别?

UTF8编码格式很强大,支持所有国家的语言,正是因为它的强大,才会导致它占用的空间大小要比GBK大,对于网站打开速度而言,也是有一定影响的。

GBK编码格式,它的功能少,仅限于中文字符,当然它所占用的空间大小会随着它的功能而减少,打开网页的速度比较快。

规定GBK是双字节,也就是一个汉字占用2Bytes。

utf-8是三字节,一个汉字占用三个字节长度的存储空间。



php常用函数:http://www.php.cn/code/1122.html



猜你喜欢

转载自blog.csdn.net/qq_15936309/article/details/78092644