一個PHP的數組工具UTIL

券搜搜U站做的差不多了,今天總結一下,做的時候遇到最大的問題就是編碼問題,之後用utf8_encode解決了,很坑爹的,一直以爲是gbk的編碼,浪費了兩天。。。。

/**
 * 
 * @Description 合併多爲數組
 * @param unknown_type $array
 * @return return_type
 */
function array_multiToSingle($flage,$array) {
	
	static $newArray = array ();
	if(!$flage)
		$newArray = array ();
	
	foreach ( $array as $key => $val ) {
		if (is_array ( $val ) || is_object ( $val )) {
			$oldArray = ( array ) $val;
			$flage = true;
			array_multiToSingle ($flage,$val);
		} else {
			$newArray [$key] = $val;
		}
	}
	return $newArray;
}


/**
 * 
 * @Description 根據鍵名刪除數組項
 * @param unknown $array
 * @param unknown $oldkey
 * @return void|unknown
 */
function deleteByKey($array, $oldkey) {
	
	if (! array_key_exists ( $oldkey, $array ))
		return;
	foreach ( $array as $key => $val ) {
		if ($key == $oldkey) {
			unset ( $array [$key] );
		}
	}
	return $array;
}

/**
 * 
 * @Description 數組轉爲對象
 * @param Object $obj
 * @return array
 */
function objectConventArray($obj) {
	
	//$reflect = new StdClass ( $obj );
	$pros = get_object_vars($obj);
	
	$array = array ();
	
	foreach ( $pros as $key => $val ) {
		
		if (is_object ( $obj->$key )) {
			$array [$key] = objectConventArray ( $obj->$key );
		} else {
			if(!is_null($obj->$key))
				$array [$key] = $obj->$key;
		}
	}
	
	return $array;
}
function getIPAddress() {

	if (! empty ( $_SERVER ["HTTP_CLIENT_IP"] )) {
		$ip = $_SERVER ["HTTP_CLIENT_IP"];
	} elseif (! empty ( $_SERVER ["HTTP_X_FORWARDED_FOR"] )) {
		$ip = $_SERVER ["HTTP_X_FORWARDED_FOR"];
	} elseif (! empty ( $_SERVER ["REMOTE_ADDR"] )) {
		$ip = $_SERVER ["REMOTE_ADDR"];
	} else {
		$ip = "無法獲取!";
	}
	return $ip;
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章