ホームページ > バックエンド開発 > PHPチュートリアル > 直接使用できる PHP 慣用関数のコード スニペット (21~25)

直接使用できる PHP 慣用関数のコード スニペット (21~25)

WBOY
リリース: 2016-06-13 12:34:44
オリジナル
953 人が閲覧しました

直接使用できる一般的な PHP 関数コード スニペット (21~25)

記事のソース: jquery チュートリアル?-?http://www.jq-school.com/Show.aspx?id=330

?

最初は PHP のスキルを集めるのが難しいと思っていましたが、今ではいつの間にか 25 個も集めてしまいました。実は、PHP はもともと Personal Home Page の略であり、正式に「PHP: Hypertext Preprocessor」という名前に変更されましたが、「Hypertext Preprocessor」の略語ではないことに注意してください。定義に名前を書き込むこの方法は、再帰的略語と呼ばれます。

?

PHP は、1994 年に Rasmus Lerdorf によって作成されました。それは、Rasmus Lerdorf が個人の Web ページを維持するために作成した、Perl 言語で書かれた単純なプログラムでした。これらのツールは、Rasmus Lerdorf の履歴書を表示し、Web トラフィックをカウントするために使用されます。

?

その後、データベースへのアクセスを含めて、これらのプログラムを PHP/FI と呼ばれるいくつかのフォーム インタプリタと統合して、データベースに接続して簡単な動的 Web ページを生成しました。プログラム、フロントエンドのネットユーザーがバックエンド開発を学びたい場合は、PHP を選択できます。

?

前に共有したコード スニペットを見てください

1. PHP 共通関数コードスニペット (1~5)

2. PHP 共通関数コード スニペット (6~10)

3. PHP 共通関数コードスニペット (11~15)

4. PHP 共通関数コード スニペット (16~20)

今日は 5 番目の記事です。主に、現在のページの完全な URL アドレスの取得、2 次元配列のソート、期間内のすべての週の時刻の取得、文字コンテンツのバイナリへの変換が含まれます。バイナリを文字コンテンツに変換するなどの関数、つまり 21 番目から 25 番目までの 5 つの実用的なコード スニペットが、学校グループの jquery メンバーと大多数の人々に役立つことを願っています。 PHPに興味のある人 ネットユーザーの育成により開発効率が向上します。


21. PHP は、現在のページの完全な URL アドレスを取得する関数を実装します

function get_url(){
    $url = (isset($_SERVER['SERVER_PORT']) && $_SERVER['SERVER_PORT'] == '443') ? 'https://' : 'http://';
    $url .= $_SERVER['HTTP_HOST'];
    $url .= isset($_SERVER['REQUEST_URI']) ? $_SERVER['REQUEST_URI'] : urlencode($_SERVER['PHP_SELF']) . '?' . urlencode($_SERVER['QUERY_STRING']);
    return $url;
}
ログイン後にコピー


22. PHP で 2 次元配列のソートを実装する一般的な方法

function array_sort($arr,$keys,$type='asc'){ 
	$keysvalue = $new_array = array();
	foreach ($arr as $k=>$v){
		$keysvalue[$k] = $v[$keys];
	}
	if($type == 'asc'){
		asort($keysvalue);
	}else{
		arsort($keysvalue);
	}
	reset($keysvalue);
	foreach ($keysvalue as $k=>$v){
		$new_array[$k] = $arr[$k];
	}
	return $new_array; 
} 
ログイン後にコピー


23. PHP は、期間内のすべての週の時刻を取得する

を実装します。
function getWeek($startdate,$enddate)
{
	//参数不能为空
	if(!empty($startdate) && !empty($enddate)){
	
		//先把两个日期转为时间戳
		$startdate=strtotime($startdate);
		$enddate=strtotime($enddate);
		//开始日期不能大于结束日期
		if($startdate<=$enddate){
			$end_date=strtotime("next monday",$enddate);
			if(date("w",$startdate)==1){
				$start_date=$startdate;
			}else{
				$start_date=strtotime("last monday",$startdate);
			}
			//计算时间差多少周
			$countweek=($end_date-$start_date)/(7*24*3600);
			for($i=0;$i<$countweek;$i++){
				$sd=date("Y-m-d",$start_date);
				$ed=strtotime("+ 6 days",$start_date);
				$eed=date("Y-m-d",$ed);
				$arr[]=array($sd,$eed);
				$start_date=strtotime("+ 1 day",$ed);
			}
			return $arr;	
		}
	}
}
ログイン後にコピー


24. PHP は文字コンテンツをバイナリ
関数 StrToBin($str){

に変換するを実装します。
function StrToBin($str){
    //1.列出每个字符
    $arr = preg_split('/(?<!^)(?!$)/u', $str);
    //2.unpack字符
    foreach($arr as &$v){
        $temp = unpack('H*', $v);
        $v = base_convert($temp[1], 16, 2);
        unset($temp);
    }
    return join(' ',$arr);
}
ログイン後にコピー



25. PHP はバイナリを文字コンテンツに変換する
関数 BinToStr($str){

を実装します。
function BinToStr($str){
    $arr = explode(' ', $str);
    foreach($arr as &$v){
        $v = pack("H".strlen(base_convert($v, 2, 16)), base_convert($v, 2, 16));
    }
    return join('', $arr);
}
ログイン後にコピー

?


関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート