一、判断代码输出
$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<$len;$i++) { for($j=$i+1;$j<$len;$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]<$key){ $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);
时间: 2024-10-11 01:25:50