又找来了一份php面试题 只有图片的 我自己写下答案

又找来了一份php面试题 只有图片的 我自己写下答案_第1张图片
一、
面用五种方法来实现不用不使用第3个变量,交换$a、$b的值(记住函数list)

$a = 11;
$b = 33;

// 方法一:
list($a,$b) = array($b,$a);
echo $a.'-'.$b,'
'
; // 方法二: $a = $a . '-' . $b; $a = explode('-',$a); $b = $a[0]; $a = $a[1]; echo $a.'-'.$b,'
'
; // 方法三: $a = $a.$b; $b = strlen($b); $b = substr($a,0,strlen($a)-$b); $a = substr($a,strlen($b)); echo $a . '-' . $b,'
'
; // 方法四: // 当两个变量都是数字的时候 $a = $a + $b; $b = $a-$b; $a = $a-$b; echo $a . '-' . $b,'
'
; // 方法五 $a = 11; $b = 33; $a = $a^$b; $b = $b^$a; $a = $a^$b; echo $a . '-' . $b,'
'
;

注意:
方法五中,两个变量的长度必须一样,

方法四中,两个变量必须是数字

方法三中,可能存在编码问题

方法二中,注意分隔符

方法一,没得说,顶上!!!

二、

$startdate="2010-12-11 11:40:00";
$enddate="2012-12-12 11:45:09";
$date=floor((strtotime($enddate)-strtotime($startdate))/86400);
$hour=floor((strtotime($enddate)-strtotime($startdate))%86400/3600);
$minute=floor((strtotime($enddate)-strtotime($startdate))%86400/60);
$second=floor((strtotime($enddate)-strtotime($startdate))%86400%60);
echo $date."天
"
; echo $hour."小时
"
; echo $minute."分钟
"
; echo $second."秒
"
;

三、

?php 
//冒泡排序方法 
function bubblesort(&$arr){ 
    //定义一个变量保存交换的值 
    $temp =0; 
    for($i=0;$i$arr);$i++){ 
        for($j=0;$j$arr)-$i-1;$j++){ 
            if($arr[$j]>$arr[$j+1]){ 
                //如果前面的那个数大于后面的那个数,那么他们就进行交换 
                $temp=$arr[$j]; $arr[$j]=$arr[$j+1]; $arr[$j+1]=$temp; 
            } 
        } 
    } 
} 
$arr=array(100,99,200,5,-4,6,-7); 
bubbleSort($arr); 
print_r($arr); 
//数组是值传递,所以传递的时候加个&符号就是地址传递,改变外部变量
?>

四、

^[a-zA-Z0-9_.-]+@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*\.[a-zA-Z0-9]{2,6}$

五、
ltrim去空格,然后explode(',', $a);

六、

 
//单例
class Uni{
        //创建静态私有的变量保存该类对象
    static private $instance;
        //参数
    private $config;
        //防止直接创建对象
    private function __construct($config){
        $this -> config = $config;
                echo "我被实例化了";
    }
        //防止克隆对象
    private function __clone(){

    }
    static public function getInstance($config){
                //判断$instance是否是Uni的对象
                //没有则创建
        if (!self::$instance instanceof self) {
            self::$instance = new self($config);
        }
        return self::$instance;

    }
    public function getName(){
        echo $this -> config;
    }
}
$db1 = Uni::getInstance(1);
$db1 -> getName();
echo "
"
; $db2 = Uni::getInstance(4); $db2 -> getName(); ?>

七、
构造的 __construct
析构的 __destruct
__get
__set
__isset
__toString()
__clone()
__call()

具体的看https://www.jb51.net/article/68760.htm
八、
php-redis
php-mysql
SimpleXML
Curl
SSH2
九、
yii2, tp, lavanel
十、
cat | grep
十一、

十二
git, svn
十三
详细的见https://segmentfault.com/a/1190000007059639

十四、
十五、
select id from A where id >=(select id from A limit 100000, 1) limit 10
16、
https://www.baidu.com/s?ie=utf-8&f=3&rsv_bp=1&ch=11&tn=98012088_5_dg&wd=phpsql%E6%94%BB%E5%87%BB%E5%92%8C%E9%98%B2%E8%8C%83&oq=sql%25E6%2594%25BB%25E5%2587%25BB%25E5%2592%258C%25E9%2598%25B2%25E8%258C%2583&rsv_pq=e6cb27d30000ca9a&rsv_t=e995ukLzMDUI1kTVfwlD0ERf8PVvylQNuasfPCfAyIxIQzhQctBoRiMod%2F04KdK%2F5UsmTg&rqlang=cn&rsv_enter=1&rsv_sug3=4&rsv_sug1=1&rsv_sug7=100&rsv_sug2=0&prefixsug=phpsql%25E6%2594%25BB%25E5%2587%25BB%25E5%2592%258C%25E9%2598%25B2%25E8%258C%2583&rsp=0&inputT=1046&rsv_sug4=2682

你可能感兴趣的:(PHP)