1.单引号与双引号
@1.双引号解释变量,单引号不解释变量
@2.双引号里插入单引号,其中单引号里如果有变量的话,变量解释
@3.双引号的变量名后面必须要有一个非数字、字母、下划线的特殊字符,或者用{}讲变量括起来,否则会将变量名后面的部分当做一个整体,引起语法错误
@4.双引号解释转义字符,单引号不解释转义字符,但是解释'\和\\
@5.能使单引号字符尽量使用单引号,单引号的效率比双引号要高(因为双引号要先遍历一遍,判断里面有没有变量,然后再进行操作,而单引号则不需要判断)
2.检测一个变量是否有设置,是否为空
isset(),empty()
3.写出显示客服端和服务器ip的代码
$_SERVER['SERVER_ADDR']
$_SERVER['RMOTE_ADDR']
4.include 与 require的区别
require:
@1.无条件包含,脚本加载即包含,如果文件不存在,会报error错误,脚本停止执行
@2.执行时所引用的文件,每次都要进行读取和评估,效率低
include:
@1.有条件包含,逻辑成立才加载包含,如果不存在,会报warning,脚本会继续执行
@2.执行时所引用的文件,只处理一次(实际上执行时所引用的文件内容替换了require命令),效率高
require_once()和include_once(),可以检测文件是否有重复包含
5.写一个函数,从一个标准的url里面获取文件的扩展名
$str = 'http://www.xxx.com/a/b/c.php?id=1';
$str1 = parse_url($str);
$str2 = $str1['path'];
echo array_pop(explode('.',$str2));
6.写一个求三个值中最大的函数
($a>$b?$a:$b)>$c?($a>$b?$a:$b):$c;
7.http协议中GET,POST请求的区别
GET:显示传送数据,携带数据大小限制(url内补偿2k)
POST:隐式传输数据,携带数据大小无限制
8.实现数组冒泡排序,升序
$arr=[4,3,7,1,9];
$len = count($arr);
for($k=1;$k<$len;$k++){
for($j=0;$j<$len-$k;$j++){
if($arr[$j]>$arr[$j+1]){
$temp=$arr[$j+1];
$arr[$j+1]=$arr[$j];
$arr[$j]=$temp;
}
}
}
@1.使用jsonp(推荐)
@2.使用代理服务器
10.php中静态与非静态方法分析
1.静态调用非静态方法是可行的,但是静态调用构造方法是不可以的
2.静态调用非静态方法的效率要比标准的静态方法调用低的多
3.静态方法可以被非静态方法调用
4.静态方法不能主动调用非静态方法