面试
1、<?php
$array = ['0'=>1,'genee'=>9,4,5];
foreach($array as $key=>$value){
if ($key=='genee') {
echo 3;
}else{
echo $value;
}
/* echo $key=='genee'?3:$value;*/
}
结果为3345;原因0=='genee'始终为true
2、什么是跨域?
跨域:指的是浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的,是浏览器对javascript施加的安全限制。
例如:a页面想获取b页面资源,如果a、b页面的协议、域名、端口、子域名不同,所进行的访问行动都是跨域的,而浏览器为了安全问题一般都限制了跨域访问,也就是不允许跨域请求资源。
注意:跨域限制访问,其实是浏览器的限制。理解这一点很重要!!!同源策略:是指协议,域名,端口都要相同,其中有一个不同都会产生跨域;
3、Array是一个PHP类型。您可以使用php语言构造数组()创建一个,或者从PHP 5.4开始用 [ ]创建
ArrayIterator就像ArrayObject一样,但它可以自己进行迭代。使用new创建
Array比对象快得多。另一方面,ArrayObject& ArrayIterator类有一些定义方法可以使用,而Array没有这样的东西
ArrayObject和ArrayIterator的区别在于类的方法,ArrayIterator实现了Iterator接口,它给出了与迭代/循环元素相关的方法,ArrayObject不能被迭代,所以在foreach中使用它时,它会在内部创建一个ArrayIterator对象(与数组相同)。
1** | 信息,服务器收到请求,需要请求者继续执行操作 |
2** | 成功,操作被成功接收并处理 |
3** | 重定向,需要进一步的操作以完成请求 |
4** | 客户端错误,请求包含语法错误或无法完成请求 |
5** | 服务器错误,服务器在处理请求的过程中发生了错误 |
502:网关错误。
500:服务器错误。
401:请求要求用户的身份认证
403:服务器理解请求客户端的请求,但是拒绝执行此请求
404:请求的内容不存在。
302表示临时性重定向(302 found),请求的资源临时分配了新url,本次请求暂且使用新url。
200:正确的请求返回正确的结果
5、
- 如何获取客户端的IP地址?
①如果没有使用代理服务器,$ip = $_SERVER[‘REMOTE_ADDR’];
②使用透明代理,REMOTE_ADDR = 最后一个代理服务器IP;HTTP_X_FORWARDED_FOR=
客户端真实IP;$ip = $_SERVER[‘HEEP_X_FORWARDED_FOR’]
③使用普通匿名代理服务器,REMOTE_ADDR = 最后一个代理服务器IP; HTTP_X_FORWARDED_FOR=代理服务器IP,无法获得客户端真实IP
④使用欺骗性代理服务器,REMOTE_ADDR = 最后一个代理服务器IP; HTTP_X_FORWARDED_FOR=随机值
⑤使用高匿名代理,REMOTE_ADDR = 最后一个代理服务器IP; HTTP_X_FORWARDED_FOR=没有数值或者是不显示
- 使用header函数跳转页面的语句?
header('Refresh: 3; url=www.baidu.com');//三秒以后跳转百度
- 将一个数组中的空值去掉
<?php
$array = array('a' => "jhdsfhjdfsjk", 'b' => "ewropl",'c' =>"cde",'d' =>"");
$arr= array_filter($array);
print_r($arr);
?>