设计原则

09 062016

1、找到应用中可能需要变化之处,把他们独立出来,不要和那些不需要变化的代码混在一起。


2、针对接口编程,而不是针对实现编程。


排序算法之 冒泡法排序

09 012016
// +----------------------------------------------------------------------
// | description: 冒泡法排序
// +----------------------------------------------------------------------
// | author: lidl
// +----------------------------------------------------------------------
// | date: 2016年9月1日
// +----------------------------------------------------------------------
// | Author: lidl <84839733@qq.com><http://1m85.com>
// +----------------------------------------------------------------------

$arr = array(8,6,2,1);

$len = count($arr);

for($i = 1; $i<= $len; $i++){
	
	for($j = 1; $j< $i; $j++){
		
		if($arr[$j] < $arr[$j-1]){
			$temp 		= $arr[$j];
			$arr[$j] 	= $arr[$j-1];
			$arr[$j-1] 	= $temp;
		}
	}
}


print_r($arr);


echo '<br/>';

for($i = 1; $i <= $len; $i++){
	
	for($j = $len-1; $j >= 1; $j--){
		
		if($arr[$j] > $arr[$j - 1]){
			$temp 		= $arr[$j];
			$arr[$j] 	= $arr[$j-1];
			$arr[$j-1] 	= $temp;
		}
	}
}

print_r($arr);

冒泡法排序原理:N个数字,循环N次,每次将最大数排到最后或把最小数拍到最前。效果上就像一个气泡从
下面浮到上面,所以成为冒泡:如下图

blob.png

PHP获取地址栏扩展名的几种方法

09 012016
1、string strrchr ( string $haystack , mixed $needle )
//该函数返回 haystack 字符串中的一部分,这部分以 needle 的最后出现位置开始,直到 haystack 末尾。
参数
haystack
在该字符串中查找。
needle
如果 needle 包含了不止一个字符,那么仅使用第一个字符。该行为不同于 strstr()。
如果 needle 不是一个字符串,那么将被转化为整型并被视为字符顺序值。

实例:

test.php

$url = $_SERVER['PHP_SELF'];
echo strrchr($url, '.');

//输出 .php


2、

$url = $_SERVER['PHP_SELF'];
$row = explode('.', $url);
echo end($row);

输出php

3、
$url = $_SERVER['PHP_SELF'];
//int strrpos ( string $haystack, string $needle[, int $offset = 0 ] )
$off = strrpos($url, '.'); //获取最后位置
string substr ( string $string , int $start [, int $length ] )
echo substr($url,$off+1);  //获取扩展名

4、
$url = $_SERVER['PHP_SELF'];
$row = pathinfo($url, PATHINFO_EXTENSION );
echo $row;