ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
1、简述如何得到当前执行脚本路径,包括所得到参数。 > __FILE__ //当前执行脚本路径 $argv //--获取参数列表数组 2、语句include和require的区别是什么?为避免多次包含同一文件,可用(?)语句代替它们? > 包含文件失败的时候:include产生一个警告,而require产生错误中断 > 可用require_once,include_once代替 3、实现中文字串截取无乱码的方法 > mb_substr('中国', 1, 1) 4、echo(),print(),print_r()的区别 > echo 和print不是一个函数,是一个语言结构 print(string $arg)只有一个参数 echo arg1,arg1,arg2; 可以输出多个参数,返回void echo和print只能打印出string,不能打印出结构 print_r能打印出结构 比如 $arr = array("key"=>"value"); print_r($arr); 5、如何实现字符串翻转? ~~~ //英文使用: strrev('abc') //中文使用: function reverse($str) { $len=mb_strwidth($str); for($i=0;$i<$len;$i++) { $arr[]=mb_substr($str, $i, 1); } return implode("", array_reverse($arr)); } print_r(reverse('你好,中国')); ~~~ 6、在PHP中error_reporting这个函数有什么作用? > 设定error的展示级别 > 7、请写一个验证电子邮件和手机的格式是否正确 ~~~ $email='110A68b_56@qq.com'; $reg='/([a-zA-Z0-9_]+)@([a-zA-Z0-9_]+)\.([a-zA-Z]+)/'; echo preg_match($reg,$email); $mobile='13105212203'; $preg='/1[34578]{1}\d{9}/'; echo preg_match($preg,$mobile); ~~~ 8、下面哪个函数可以打开一个文件,以对文件进行读和写操作?选 c ~~~ (a) fget() (b) file_open() (c) fopen() (d) open_file() ~~~ 9、下面哪个选项没有将 john 添加到users 数组中? (1分) bd ~~~ (a) $users[] = 'john'; (b) array_add($users,'john');// 不存在此函数 (c) array_push($users,'john'); (d) $users ||='john';// 写法错误 ~~~ 10、写一个函数,能够遍历一个文件夹下的所有文件和子文件夹 ~~~ function my_dir($dir) { $files = array(); if(@$handle = opendir($dir)) { //注意这里要加一个@,不然会有warning错误提示:) while(($file = readdir($handle)) !== false) { if($file != ".." && $file != ".") { //排除根目录; if(is_dir($dir."/".$file)) { //如果是子文件夹,就进行递归 $files[$file] = my_dir($dir."/".$file); } else { //不然就将文件的名字存入数组; $files[] = $file; } } } closedir($handle); return $files; } } echo "<pre>"; print_r(my_dir(".")); echo "</pre>"; ~~~ 11、以下语句输出的结果是什么 ~~~ $a = 3; echo "$a",'$a',"\\\$a","${a}","$a"."$a","$a"+"$a"; ~~~ 输出:3$a\$a3336 12、以下语句输出的结果是什么 ~~~ setcookie("a","value"); echo $_COOKIE['a']; ~~~ php7 输出空 php5.6输出 PHP Notice: Undefined index: a 13、array+array与array_merge()的区别 > 二者之间的区别是: 1、 键名为数字时,array_merge()不会覆盖掉原来的值,但+合并数组则会把最先出现的值作为最终结果返回,而把后面的数组拥有相同键名的那些值“抛弃”掉(不是覆盖) 2、 键名为字符时,+仍然把最先出现的值作为最终结果返回,而把后面的数组拥有相同键名的那些值“抛弃”掉,但array_merge()此时会覆盖掉前面相同键名的值