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

这里写图片描述
一、
面用五种方法来实现不用不使用第3个变量,交换$a、$b的值(记住函数list)

$a = 11;
$b = 33;

// 方法一:
list($a,$b) = array($b,$a);
echo $a.'-'.$b,'<br />';

// 方法二:
$a = $a . '-' . $b;
$a = explode('-',$a);
$b = $a[0];
$a = $a[1];
echo $a.'-'.$b,'<br />';

// 方法三:
$a = $a.$b;
$b = strlen($b);
$b = substr($a,0,strlen($a)-$b);
$a = substr($a,strlen($b));
echo $a . '-' . $b,'<br />';


// 方法四:
// 当两个变量都是数字的时候
$a = $a + $b;
$b = $a-$b;
$a = $a-$b;
echo $a . '-' . $b,'<br />';

// 方法五
$a = 11;
$b = 33;
$a = $a^$b;  
$b = $b^$a;  
$a = $a^$b;  
echo $a . '-' . $b,'<br />';

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

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

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

方法二中,注意分隔符

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

二、

$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."天<br>";
echo $hour."小时<br>";
echo $minute."分钟<br>";
echo $second."秒<br>";

三、

?php 
//冒泡排序方法 
function bubblesort(&$arr){ 
    //定义一个变量保存交换的值 
    $temp =0; 
    for($i=0;$i<count($arr);$i++){ 
        for($j=0;$j<count($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);

六、

<?php 
//单例
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 "<br>";
$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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值