一、判断代码输出
$str1 = null;
$str2 = false;
echo $str1==$str2 ? '相等' : '不相等';
$str3 = '';
$str4 = 0;
echo $str3==$str4 ? '相等' : '不相等';
$str5 = 0;
$str6 = '0';
echo $str5===$str6 ? '相等' : '不相等';
输出:
相等
相等
不相等
$a1 = null;
$a2 = false;
$a3 = 0;
$a4 = '';
$a5 = '0';
$a6 = 'null';
$a7 = array();
$a8 = array(array());
echo empty($a1) ? 'true' : 'false';
echo empty($a2) ? 'true' : 'false';
echo empty($a3) ? 'true' : 'false';
echo empty($a4) ? 'true' : 'false';
echo empty($a5) ? 'true' : 'false';
echo empty($a6) ? 'true' : 'false';
echo empty($a7) ? 'true' : 'false';
echo empty($a8) ? 'true' : 'false';
输出: true true true true true false true false
$test = 'aaaaaa';
$abc = & $test;
unset($test);
echo $abc;
输出: 'aaaaa'
$count = 5;
function get_count(){
static $count = 0;
return $count++;
}
echo $count;
++$count;
echo get_count();
echo get_count();
输出 5 0 1
二、算法
1、冒泡排序
$arr=[1,6,3,8,9,12,6];
$len=count($arr);
for($i=0;$i
{
for($j=$i+1;$j
{
if($arr[$i]>$arr[$j])
{
$tmp=$arr[$i];
$arr[$i]=$arr[$j];
$arr[$j]=$tmp;
}
}
}
var_dump($arr);
2、二分查找
二分查找需要查找的集合对象为有序队列。
function binarySearch(Array $arr,$key)
{
$len=count($arr);
if($len==0)
return false;
$begin=0;
$end=$len-1;
//如果查找的值为集合首元素则$begin,$end将=
while ( $begin <= $end) {
$mid=floor(($begin+$end)/2);
if($arr[$mid]==$key){
return $arr[$mid];
}
if($arr[$mid]
$begin=$mid +1;
}
if($arr[$mid]>$key){
$end=$mid-1;
}
}
return false;
}
$arr=[3,4,6,7,8,10,11,55,67];
$result=binarySearch($arr,4);
var_dump($result);