1、解释一下PHP中常量、变量、可变变量并举例说明;超级全局变量有哪些?
<?php #对大小写不敏感为true,默认为false define("GREETING", "Welcome to W3School.com.cn!", true); echo greeting; ?>
<?php $txt="Hello world!"; $x=5; $y=10.5; ?>
变量的三种作用域:
可变变量:用一个变量的值作为另一个变量的名称 (http://www.php.net/manual/zh/language.variables.variable.php)
<?php $a = "hello"; $$a = "world!"; echo "$a $$a"; //或者${$a} echo "$a $hello"; ?>
超全局变量:在一个脚本的全部作用域中始终可用的内置变量
2、字符串连接操作符、三元操作符、错误抑制操作符、执行操作符、类型操作符是什么,举例说明用法
<?php $a = "Hello"; $b = $a . " world!"; echo $b; // 输出 Hello world! $x="Hello"; $x .= " world!"; echo $x; // 输出 Hello world! ?>
$c=($a>$b)?$a:$b
$a = @(50/0);
$out = `ls -l`;
$manager = new Employee(); … if ($manager instanceof Employee) echo "Yes";
3、”===“是什么?试举一个”==“是真但”===“是假的例子。
$x === $y 的意思是如果 $x 等于 $y,且它们类型相同,则返回 true。
$x=100; $y="100"; var_dump($x == $y); // 因为值相等,返回 true var_dump($x === $y); // 因为类型不相等,返回 false
4、解释一下isset()、unset()、empty()
5、PHP的面向对象的特点?什么是接口?implements和extend的区别? (PHP 面向对象教程)
class Person { //下面是人的成员属性 var $name; //人的名字 var $sex; //人的性别 var $age; //人的年龄 //下面是人的成员方法 function say() //这个人可以说话的方法 { echo"这个人在说话"; } function run() //这个人可以走路的方法 { echo"这个人在走路"; } } $p1=new Person(); $p2=new Person();
要实现一个接口,使用 implements 操作符。类中必须实现接口中定义的所有方法,否则会报一个致命错误。类可以实现多个接口,用逗号来分隔多个接口的名称。
6、foo()和@foo()之间有什么区别?
@foo()可以屏蔽错误输出。
8、PHP5中魔术方法函数有哪几个,举例说明各自用法 (15个魔术方法的总结 )
9、数组的创建方式有哪些?举例说明
<?php $firstname = "Peter"; $lastname = "Griffin"; $age = "38"; $result = compact("firstname", "lastname", "age"); print_r($result); ?>
10、数组的遍历方式有哪些?举例说明
foreach($arrays as $value)
foreach($arrays as $key=>$value)
while(list($key,$val)= each($colors)) //list()用一步操作给一组变量进行赋值,each()返回数组中当前元素的键/值对并向后移动数组指针
11、php关联数组按照键、值正向排序:array(‘c‘=>3, ‘a‘=>4, ‘b‘=>2, ‘e‘=>5)
$arr = array(‘c‘=>3, ‘a‘=>4, ‘b‘=>2, ‘e‘=>5) ksort($arr); //正向按键排序 asort($arr); //正向按值排序 rksort($arr);//反向按键排序 rasort($arr);//反向按值排序
12、对一个含有重复值的数组去重:array(‘a‘=>1, ‘b‘=>2, ‘c‘=>3, ‘d‘=>4, ‘a‘=>1, ‘b‘=>3, ‘d‘=>4)
$arr = array(‘a‘=>1, ‘b‘=>2, ‘c‘=>3, ‘d‘=>4, ‘a‘=>1, ‘b‘=>3, ‘d‘=>4);
$result = array_unique($arr); //只保留重复值的第一个键
13、sort()、asort()和ksort()有什么区别?分别在什么情况下使用?
14、请说明php中传值与传引用的区别。什么时候传值什么时候传引用?
按值传递:函数范围内对值的任何改变在函数外部都会被忽略
按引用传递:函数范围内对值的任何改变在函数外部也能反映出这些修改
15、如何访问和设置一个类的属性?
$object = new myclass();
$newstr = $object->test;
$object->test = "info";
16、写出php5权限控制修饰符
public private protected
17、列举php数据类型
整型(integer)、浮点型(float)、字符串型(string)和布尔型(Boolean)四种标量类型,数组(array)和对象(object)两种合成类型,空值(null)和资源(resource)两种特殊类型。
18、如何修改SESSION的生存时间
setcookie(session_name(), session_id(), time() + 86400, "/");
or
<?php $life_time = 24*3600; Session_set_cookie_params($life_time); Session_start(); ?>
19、简要说说PHP框架
20、一个网页地址如 http://www.phpres.com/index.html,如何得到内容?
$data = file_get_contents(‘http://www.phpres.com/index.html‘) ;
21、简述如何得到当前执行脚本路径,包括所得到参数。
echo "http://".$_SERVER [‘HTTP_HOST‘].$_SERVER[‘PHP_SELF‘];
22、写出数据类型int char varchar datetime text的意思,varchar和char有什么区别?
int是数字类型,char固定长度字符串,varchar可变长度字符串,datetime日期时间型,text文本字符串
23、如何调试并查看错误日志?
打开调试功能:php.ini 里设置error_reporting = E_ALL以及 display_errors = On,重启 web服务(apache)。
一般来讲,Linux系统下(以Centos为例) Php的错误日志会记录在 /var/log/httpd 下的errror_log 里,可通过tail -n 5 -f error_log查看最近几条错误日志。
24、php与apache(nginx)的关系?php代码是如何执行的?
php 是一种编程语言,Apache是一种站点服务器软件,在Apache的conf配置文件里有LoadModule php5_module modules/libphp5.so的类似语句加载php, Apache 处理请求页面时,发现页面中内嵌的 <?php> ... <?>,就会根据配置调用 php 解释器执行这段 php 代码。
25、echo,print()和print_r()有什么区别?
26、使用php写一段简单查询,查出所有姓名为”张三“的内容并打印。
$result = mysql_query("SELECT * FROM users WHERE name=‘张三‘"); while($row=mysql_fetch_array($result)) { echo $row[‘name‘].$row[‘tel‘].$row[‘addr‘]; echo "<br>"; }
27、请写一个函数验证电子邮件的格式是否正确(要求使用正则)
function checkMail($mailText) { if(ereg("^[0-9a-z][a-z0-9\._-]{1,}@[a-z0-9-]{1,}[a-z0-9]\.[a-z\.]{1,}[a-z]$", $mailText) echo "correct!"; else echo "wrong!"; }
28、不用php内置函数实现数组排序。如:array("d"=>100, "c"=>22, "a"=>22)
<?php $arr=array("d"=>100,"b"=>22,"c"=>22,"a"=>22); $newArr=array(); while ($arr) { $key=null; $value=null; foreach ($arr as $k=>$v) { if($v>$value||($v==$value&&$k>$key)) { $key=$k; $value=$v; } } $newArr[$key]=$value; unset($arr[$key]); } print_r($newArr); ?>
原文:http://www.cnblogs.com/bluevoid7/p/3822528.html