一、
面用五种方法来实现不用不使用第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