php面试宝典4

1.写出以下代码的输出结果

$str = "val";
$$str = "hello"; 
$$str = "world";
echo $val; //world

2.写出php连接mysql的方式

@1.函数形式

$conn = mysql_connect($mysql_server,$mysql_username,$mysql_password) or die("数据库链接错误");

@2.对象形式

$db=new mysqli($dbhost,$username,$userpass,$dbdatabase);

@3.PDO形式

$dbh=new PDO($dsn,$username,$userpass);


4.mysql_fetch_array row assoc 三个的区别

@1.array:从结果集中取得一行作为关联数组,或数字数组,或二者都有

@2.row:从结果集中取得一行作为枚举数组

@3.assoc:从结果集中取得一行作为关联数组


5.array_merge() 与 + 的区别

@1.当键名为数字时,array_merge不会覆盖掉原来的值,而 + 合并数组会把最先出现的值作为最终结果返回,把后面的数组拥有相同键名的那些值“抛弃”掉

@2.键名为字符时,+仍然把最先出现的值作为最终结果返回,而把后面的数组拥有相同键名的那些值“抛弃”掉,但array_merge()此时会覆盖掉前面相同键名的值


6.explode()

把字符串分割为数组

inplode()

把数组转换为字符串


7.说说redis的简单介绍

@1.是一个高速的key-value内存缓存系统

@2.支持复杂的数据结构(string,list,set,hash,sorted set)

@3.支持磁盘持久化功能

@4.支持事物原子性操作

@5.支持消息订阅

@6.定位key查询,时间复杂度为0(1)

@7.支持分布式集群部署


8.如何定义一个常量

define('PI',123);
@1.必须使用函数define()定义

@2.定以后其值不能再改变

@3.使用时直接用常量名,不能像再加$


9.实现无限极分类的实现方法

@1.通过path方法,用like语法查询

@2.设置pid,形成父子级关系


10.实现字符串翻转

function demo($str){
	$str = str_split($str);
	$len = count($str);
	$i=$j=$len-1;
	for($i;$i>=$len/2;$i--){
		$tp = $str[$i];
		$str[$i] = $str[$j-$i];
		$str[$j-$i] = $tp;
	}
	return implode($str);
}











你可能感兴趣的:(php面试宝典)