php代码

1、遍历文件夹
<?php
    function scan($path){
        foreach(glob($path) as $p){
            if(is_dir($p)){
                scan($p.'/*');
            }
            else if(is_file($p)){
                echo "Filename: " . $p . "<br />";
            }else{
                break;
            }
        }
    }
    scan('C:/*');
?>
2、PHP 16进制转换为rgb
function hex2rgb($hexColor) {
	$color = $hexColor;
	if (strlen($color) > 3) {
		$rgb = array(
			'r' => hexdec(substr($color, 0, 2)),
			'g' => hexdec(substr($color, 2, 2)),
			'b' => hexdec(substr($color, 4, 2))
		);
	} else {
		$color = $hexColor;
		$r = substr($color, 0, 1) . substr($color, 0, 1);
		$g = substr($color, 1, 1) . substr($color, 1, 1);
		$b = substr($color, 2, 1) . substr($color, 2, 1);
		$rgb = array(
			'r' => hexdec($r),
			'g' => hexdec($g),
			'b' => hexdec($b)
			);
	}
	return $rgb;
}
3、获得客户端ip
  
  
  
  
function getip() {
        if (isset ( $_SERVER )) {
                if (isset ( $_SERVER ['HTTP_X_FORWARDED_FOR'] )) {
                        $aIps = explode ( ',', $_SERVER ['HTTP_X_FORWARDED_FOR'] );
                        foreach ( $aIps as $sIp ) {
                                $sIp = trim ( $sIp );
                                if ($sIp != 'unknown') {
                                        $sRealIp = $sIp;
                                        break;
                                }
                        }
                } elseif (isset ( $_SERVER ['HTTP_CLIENT_IP'] )) {
                        $sRealIp = $_SERVER ['HTTP_CLIENT_IP'];
                } else {
                        if (isset ( $_SERVER ['REMOTE_ADDR'] )) {
                                $sRealIp = $_SERVER ['REMOTE_ADDR'];
                        } else {
                                $sRealIp = '0.0.0.0';
                        }
                }
        } else {
                if (getenv ( 'HTTP_X_FORWARDED_FOR' )) {
                        $sRealIp = getenv ( 'HTTP_X_FORWARDED_FOR' );
                } elseif (getenv ( 'HTTP_CLIENT_IP' )) {
                        $sRealIp = getenv ( 'HTTP_CLIENT_IP' );
                } else {
                        $sRealIp = getenv ( 'REMOTE_ADDR' );
                }
        }
        return $sRealIp;
}
4、php求最大值
  
  
  
  
function getArrayMax($arr)
{
        static $max = NULL;
        foreach($arr AS $v)
        {
                if(is_array($v))
                {
                        $temp        = getArrayMax($v);
                }
                else
                        $temp        = $v;
                if(is_null($max) || $max<$temp)
                {
                        $max        = $temp;
                }
        }
        return $max;
}
$arr        = array(0, 1, 2, 3, array(33, 44, 66, array(7, 10, 12, array(99))));

echo        getArrayMax($arr);//结果99
5、多维数组转一维数组
  
  
  
  
function rebuild_array($arr){    //rebuild a array
    static $tmp=array();
    for($i=0; $i<count($arr); $i++){
        if(is_array($arr[$i])){
    rebuild_array($arr[$i]);
}else{
    $tmp[]=$arr[$i];
}
    }
    return $tmp;
}

实例:

$arr=array('123.html','456.html',array('dw.html','fl.html',array('ps.html','fw.html')),'ab.html');
print_r(rebuild_array($arr));

6、php 去掉数组重复的元素
  
  
  
  
有现成的函数
array_unique (PHP4 >= 4.0.1)
array array_unique (array array)
例:
<?php
$aa = array(1,2,4,2,4,1);
print_r($aa);
print_r(array_unique($aa));
?>
</pre>

public function array_unique_fb($array2D,$keyArray){
                $temp=array();
                foreach ($array2D as $v){
                        $v = join(",",$v);    //降维,也可以用implode,将一维数组转换为用逗号连接的字符串
                        $temp[] = $v;
                }
                $temp = array_unique($temp);        //去掉重复的字符串,也就是重复的一维数组
                foreach ($temp as $k => $v){
                        //$temp[$k] = explode(",",$v);     //再将拆开的数组重新组装
                     $temp[$k]= array_combine($keyArray ,explode(",",trim($v)));
                }
                return $temp;
}
//二维数组去掉重复值
function unique_arr($array2D){
foreach ($array2D as $v){
                 $v = join(",",$v);    //降维,也可以用implode,将一维数组转换为用逗号连接的字符串
                 $temp[] = $v;
         }
         $temp = array_unique($temp);        //去掉重复的字符串,也就是重复的一维数组
        foreach ($temp as $k => $v){
                $temp[$k] = explode(",",$v);     //再将拆开的数组重新组装
        }
        return $temp;
}


你可能感兴趣的:(PHP)