1、
$A="Hello "; functionprint_A() { $A = "phpmysql !!";global $A; global 全局变量 函数是独立的模块 $A外界定义的echo $A;}echo $A; //Helloprint_A(); //Hello 在你将$A定义为全局变量的时候,并未修改$A的值2、
$email = ‘langwan@thizlinux.com.cn’; $str = ___strstr_($email,‘@’);$info = __explode__(‘.’,$str);___print_r_($info);输出结果为:Array ([0] => @thizlinux [1]=>com[2]=>cn) 输出结果是一个数组3、定义一个404跳转
header("Http/1.1 404 Not Found");5、不用PHP函数实现字符串反转
Notice: Uninitialized string offset: 7 in D:wampwwwphpTesttest.php on line 7 //数组越界的问题$str = \\\'abcdefg\\\';$len = strlen($str);$return = \\\'\\\';for($i=$len-1;$i>=0;$i--){ $return.=$str{$i};}echo $return;6、写出五种获取.wf或者wf的的方法
$dir = \\\'Uploads/img.upload.wf\\\';substr($str,-3);//echo substr($dir,strrpos($dir,\\\'.\\\'));//echo strrchr($dir,\\\'.\\\');//$arr = explode(\\\'.\\\',$dir);//print_r(array_pop($arr));//$p = pathinfo($dir);//print_r($p);//print_r($p[\\\'extension\\\']);//$new_str = strrev($dir);//echo $new_str."n";//$a = strrev(substr($new_str,0,strpos($new_str,\\\'.\\\')));//echo $a;7、请写一个函数,实现以下功能: 字符串“open_door” 转换成 “OpenDoor”、”make_by_id” 转换成 ”MakeById”
function o($str){ $arr = explode(\\\'_\\\',$str); $str = \\\'\\\'; foreach($arr as $v){ $str.=ucfirst($v); } return $str;}echo o(\\\'make_by_id\\\');方法2:
function ucfirstTest($str){ return ucfirst($str);}function test($str){ $arr = explode(\\\'_\\\',$str); $new_arr = array_map(\\\'ucfirstTest\\\',$arr); $str = implode(\\\'\\\',$new_arr); return $str;}$str = \\\'open_str\\\';echo test($str);8、用PHP打印出前一天的时间格式是2006-5-10 22:21:21(2分)
echo date(\\\'Y-m-d H:i:s\\\',strtotime(\\\'-1 days\\\'));9、mb_substr($str,1,10,\\\'utf-8\\\');10、修改session的生存时间session_set_cookie_params11、strpos====这里要注意的就是strpos返回的是0,因为他在第0,所以要用===判断
$str = \\\'https://www.baidu.com\\\';$str1 = \\\'https://\\\';print_r(strpos($str,$str1));if(strpos($str,$str1) !== false){}12、下面输出是什么,主要考的就是运算符的优先级和++ –的问题
$x = 5;echo $x; 5echo "<br />";echo $x+++$x++; 5+6 = 11echo "<br />";echo $x; 11echo "<br />";echo $x---$x--; 7-6 = 1echo "<br />";echo $x; 513、array_merge合并的时候,传入的都是数组,如果一个不是数组就会返回null
14、$x = true and false; var_dump($x); true
15、PHP的可变变量:$a = c; $$a = 10; $c = 10;
<form action="test.php" method="post"> <input type="text" name="a" id=""/> <input type="text" name="b" id=""/> <input type="submit" value="aa"/></form>foreach($_POST as $k=>$v){ ${$k} = $v;}echo \\\'a\\\'.isset($a)?$a:\\\'\\\'.PHP_EOL;echo \\\'b\\\'.isset($b)?$b:\\\'\\\'.PHP_EOL;16、什么是自连接:无限分类就是自己链接自己查询
17、html动态生成的节点加点击事件
$(".h3").on("click","h3",{foo:"文本:"},function(event){ alert(event.data.foo+this.textContent); });18、$url = ‘
http://www.test.com.cn/abc/de/fg.php?id=1′; 获取php或者.php
19、mkdir和is_dir的使用
$dir = \\\'./liuzhu/test/\\\';if(is_dir($dir)){ //如果存在就返回true file_put_contents($dir.\\\'1.txt\\\',$url);}else{ //如果不存在就创建,true的这个参数是可以循环创建 if(mkdir($dir,0777,true)){ file_put_contents($dir.\\\'1.txt\\\',$url); };}20、定义一个字符串,然后获取第一个字符
$str = \\\'abcdef\\\'; $one = $str[1] || $str{1} 这两种方式21、下面输出no
$v = 1;$m = 2;$l = 3;if( $l > $m > $v){ echo "yes";}else{ echo "no";}首先$l>$m返回的是一个true 然后true>1 就返回了null
22、获取图片的信息
getimagesize () 获取图片的尺寸Imagesx () 获取图片的宽度Imagesy () 获取图片的高度23、$_SERVER;$host = $_SERVER[\\\'HTTP_HOST\\\']; //localhost$self = $_SERVER[\\\'PHP_SELF\\\']; ///phpTest/test.phpecho $host.$self; //localhost/phpTest/test.phpecho $_SERVER[\\\'REMOTE_ADDR\\\']; //客户端ip地址echo $_SERVER[\\\'SERVER_ADDR\\\']; //服务端ip地址echo $_SERVER[\\\'REQUEST_URI\\\']; ///phpTest/test.php24、php.ini 中safe mod关闭 影响哪些函数和参数,至少写6个?
move_uploaded_file() exec()system() passthru()popen() fopen()mkdir() rmdir()rename() unlink()copy() chgrp()chown() chmod()touch() symlink()link() parse_ini_file()set_time_limit() max_execution_time mail()25、isset() 、empty()与is_null的区别
1、当变量未定义时,is_null() 和“参数本身”是不允许作为参数判断的,会报Notice警告错误;
2、empty , isset首先都会检查变量是否存在,然后对变量值进行检测。而is_null 和 “参数本身”只是直接检查变量值,是否为null,因此如果变量未定义就会出现错误!
3、isset():仅当null和未定义,返回false;
4、empty():””、0、”0″、NULL、FALSE、array(),未定义,均返回true;
5、is_null():仅判断是否为null,未定义报警告;
6、变量本身作为参数,与empty()一致,但接受未定义变量时,报警告;
26、http_build_query()
$arr = [ \\\'title\\\'=>\\\'nihao\\\', \\\'content\\\'=>\\\'world\\\'];$str = http_build_query($arr);var_dump($str);27、curl file_get_contents() socket三种方式实现提交数据
28、var_dump(((bool)’all’)+1); 2 true=1 1+1=2
29、如果你一个整型integer超出了范围,那么就会被转成float
30、如果你定义的了一个数组,那么当你unset这个数组的时候,你又定义了一个$a[5] 那么这个键应该是从5开始
31、如何保证你的api接口的安全性
32、这个地方考察是先用后加的问题
$a = 3;$b = 5;if($a == 3 || $b == 7){ echo $a++; echo $b++;}echo $a.\\\' \\\'.$b;3 5 4 633、count除去数组和实例化对象 其他的count()都是1 null是0
$a = count([4,5,6])+count(null)+count(false);var_dump($a);