面试

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开始用 [ ]创建

ArrayObject是一个完全像数组的对象。这些可以使用 new 关键字创建
ArrayIterator就像ArrayObject一样,但它可以自己进行迭代。使用new创建

Array比对象快得多。另一方面,ArrayObject& ArrayIterator类有一些定义方法可以使用,而Array没有这样的东西
ArrayObject和ArrayIterator的区别在于类的方法,ArrayIterator实现了Iterator接口,它给出了与迭代/循环元素相关的方法,ArrayObject不能被迭代,所以在foreach中使用它时,它会在内部创建一个ArrayIterator对象(与数组相同)。 
5、
1** 信息,服务器收到请求,需要请求者继续执行操作
2** 成功,操作被成功接收并处理
3** 重定向,需要进一步的操作以完成请求
4** 客户端错误,请求包含语法错误或无法完成请求
5** 服务器错误,服务器在处理请求的过程中发生了错误

502:网关错误。
500:服务器错误。
401:请求要求用户的身份认证
403:服务器理解请求客户端的请求,但是拒绝执行此请求
404:请求的内容不存在。

302表示临时性重定向(302 found),请求的资源临时分配了新url,本次请求暂且使用新url。
200:正确的请求返回正确的结果

5、

  1. 如何获取客户端的IP地址?

①如果没有使用代理服务器,$ip = $_SERVER[‘REMOTE_ADDR’];

②使用透明代理,REMOTE_ADDR = 最后一个代理服务器IPHTTP_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=没有数值或者是不显示

  1. 使用header函数跳转页面的语句?

header('Refresh: 3; url=www.baidu.com');//三秒以后跳转百度

  1. 将一个数组中的空值去掉

<?php

    $array = array('a' => "jhdsfhjdfsjk", 'b' => "ewropl",'c' =>"cde",'d' =>"");

    $arr= array_filter($array);

    print_r($arr);

?>

原文地址:https://www.cnblogs.com/hanmengya/p/10838241.html