国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

ホームページ php教程 php手冊 php を使用して PHP スクリプト エンジンの組み込み関數(shù)を再実裝する

php を使用して PHP スクリプト エンジンの組み込み関數(shù)を再実裝する

Jun 13, 2016 pm 12:33 PM
php 使用 內(nèi)蔵 関數(shù) 成し遂げる エンジン 供給 腳本 一部



// 本當に退屈なので、PHP を使用してカプセル化された関數(shù)の一部を PHP で再実裝することを突然思いつきました。そこで、主に次のコードの一部を実裝します。 PHP の関數(shù)は、PHP では利用できないいくつかの文字列処理関數(shù)も実裝しますが、これらの同じ関數(shù)は C/VBScript/Perl などの他の言語でも実裝できます。 , など、獨自の関數(shù)ライブラリを作成できます。
// 以下の関數(shù)は學習目的のため、必ずしも正常に動作するとは限りません。
//

/**
* 文字列関數(shù) 再構築
*
* Copyright (c) 2005 heiyeluren
* 著者: heiyeluren

* $Id: StringFunctions.php,v 0.1 e 2005-5-29 23:21 heiyeluren Exp $
**/


// {{{ strlen()
/**
* Count string length
*
* @param string $str need count length string variable
* @return int return count result
* @version v0.1
* @create 2005-5-24
* @modified 2005-5-24
* @author heiyeluren
?*/
関數(shù) strlen1($str)
{
if ($str == '')
return 0;

$count = 0; > {
if ($str[$count] != NULL)
{
$count;
継続
}
else
}
return $count;
// {{{ substr()
/**
* Get sub string
*
* @param string $str need get sub string variable
* @param int $start start get sub string
* @param int $length need get string長さ
* @return string return sub string
* @version v0.2
* @create 2005-5-24
* @modified 2005-5-25
* @author heiyeluren < ;hyeiyeluren@163.com>
?*/
function substr1($str, $start, $length=0)
{
if ($str == '')
return;
if ($start > strlen($str))
return;
if (($length != NULL) && ( $start > 0) && ($length > strlen($str)-$start))
return
if (($length != NULL) && ($start strlen($ str) $start))
return;

if ($length == NULL)
$length = (strlen($str) - $start); >
if ( $start {
for ($i=(strlen($str) $start); $i {
$substr .= $str[$i];
}
}

if ($length > 0)
{
($i=$start ; $i {
$substr .= $str[$i]
}
}

if ($length < 0)
{
for ($i=$start; $i {
$substr .= $str[$ i];
}
}
return $substr;
// }}}


// {{{ strrev()
/**
* 反転文字列順序
*
* @param 文字列 $str 反転文字列変數(shù)が必要
* @return 文字列 反転文字列
* @version v0.1
* @create 2005- 5-24
* @modified 2005-5-24
* @author heiyeluren
?*/
function strrev1($str)
{
if ($str == '')
0 を返す;
for ($i=(strlen($str)-1); $i>=0; $i--)
{
$rev_str .= $str[$i];
}
return $rev_str;
}
// }}}


// {{{ strcmp()
/**
* 文字列の比較
*
* @param 文字列 $s1 最初の 文字列
* @param 文字列 $s2 2番目の文字列
* @return int return -1,str1 ?str2, str1 = str2,
* return 0, other, return false
* @version v0.1
* @create 2005-5-24
* @modified 2005-5-24
* @author heiyeluren
?*/
function strcmp1($s1, $ s2)
{
if (strlen($s1) < strlen($s2))
return -1;
if (strlen($s1) > strlen($s2))
return 1;

for ($i=0; $i {
if ($s1[$i] == $s2[$i])
続行します。
else
return false;
}
0 を返す;
}
// }}}


// {{{ strchr(), strstr(), strpos()
/**
* 文字列の最初の出現(xiàn)を検索
*
* @param string $str parent string
* @param string $substr need match sub string
* @return int return find sub string at親文字列の最初の位置、
* f 見つからない場合、false を返す
* @version v0.4
* @create 2005-5-24
* @modified 2005-5-29
* @author heiyeluren
?*/
function strchr1($str, $substr)
{
$m = strlen($str);
$n = strlen($substr);

if ($m < $n)
return false;

for ($i=0; $i<=($m-$n 1); $i )
{
$sub = substr($str, $i, $n) ;
if (strcmp($sub, $substr) == 0)
return $i;
}
falseを返します。
}
// }}}


// {{{ str_replace()
/**
* 検索文字列のすべての出現(xiàn)箇所を置換文字列で置き換えます
*
* @param 文字列 $substr サブ文字列変數(shù)を置換する必要があります
* @param 文字列 $newsubstr 新しいサブ文字列
* @ param string $str operate parent string
* @return string return replace after new parent string
* @version v0.2
* @create 2005-5-24
* @modified 2005-5- 29
* @author heiyeluren
?*/
function str_replace1($substr, $ newsubstr, $str)
{
$m = strlen($str);
$n = strlen($substr);
$x = strlen($newsubstr);

if (strchr($str, $substr) == false)
return false;

for ($i=0; $i {
$i = strchr($str, $substr);
$str = str_delete($str, $i, $n);
$str = str_insert($str, $i, $newstr);
}
return $str;
}
// }}}


/************ 以下の文字列処理関數(shù)は PHP では利用できないので、趣味で自分で書きました ***************/

// {{{ insert_str(), delete_str(), index_str()
/**
* 基本的な文字列操作
*
* @param 文字列 $str need get sub string variable
* @param int $start start get sub string
* @param int $length need get string長さ
* @return string return sub string
* @version v0.1
* @create 2005-5-24
* @modified 2005-5-24
* @author heiyeluren < ;hyeiyeluren@163.com>
?*/
function str_insert($str, $i, $substr)
{

for($j=0; $j {
$startstr .= $str[$j];
}

for ($j=$i; $j {
$laststr .= $str[$j];
}
$str = ($startstr . $substr . $laststr);

$str; を返す
}


function str_delete($str, $i, $j)
{
for ($c=0; $c<$i; $c )
{
$startstr .= $str[$c];
}

for ($c=($i $j); $c {
$laststr .= $str[$c ];
}

$str = ($startstr . $laststr);

$str; を返す
}
// }}}


// {{{ strcpy()
/**
* 指定のサブ文字列を使用して文字列を置き換えます
*
* @param 文字列 $str サブ 文字列変數(shù)を取得する必要があります
* @param int $start start get サブ 文字列
* @param int $length need get string length
* @return string return sub string
* @version v0.1
* @create 2005-5-27
* @modified 2005-5-27
* @著者 heiyeluren
?*/
function strcpy($s1, $ s2)
{
if (strlen($s1) == NULL)
return;
if (!isset($s2))
return;

for ($i=0; $i {
$s2[] = $s1[$i];
}
$s2 を返す;
}
// }}}


// {{{ strcat()
/**
* 指定のサブ文字列を使用して文字列を置き換えます
*
* @param 文字列 $str サブ 文字列変數(shù)を取得する必要があります
* @param int $start start get サブ 文字列
* @param int $length need get string length
* @return string return sub string
* @version v0.1
* @create 2005-5-27
* @modified 2005-5-27
* @著者 heiyeluren
?*/
function strcat($s1, $ s2)
{
if (!isset($s1))
return;
if (!isset($s2))
return;

$newsstr = $s1 。?$s2;

$newsstr; を返す
}
// }}}


// {{{ php_encode(), php_decode()
/**
* 単純な文字列のエンコード/デコード関數(shù)
*
* @param 文字列 $str コード/エンコード 文字列変數(shù)が必要
* @return 文字列 コード/文字列後のエンコード
* @version v0.2
* @create 2005-3-11
* @modified 2005-5-24
* @author heiyeluren
?*/

/* String encode function */
function php_encode ($str)
{
if ($str=='' && strlen($str)>128)
return false;

for($i=0; $i {
$c = ord($str[$i]);
if ($c>31 && $c $c = 20;
if ($c>106 && $c $c -= 75;
$word = chr($c);

$s .= $word;
}
$s を返す;?
}


/* 文字列デコード関數(shù) */
関數(shù) php_decode($str)
{
if ($str=='' && strlen($str) >128)
falseを返します。

for($i=0; $i {
$c = ord($word);
if ($c>106 && $c $c = $c-20;
if ($c>31 && $c $c = $c 75;
$word = chr($c);

$s .= $word;
}
$s を返す;?
}
// }}}


// {{{ php_encrypt(), php_decrypt()
/**
* 単純な文字列の暗號化/復號化関數(shù)
*
* @param 文字列 $str 暗號化文字列変數(shù)が必要
* @return 文字列 文字列の後に暗號化/復號化する
* @version v0.1
* @create 2005-5-27
* @modified 2005-5-29
* @author heiyeluren
?*/

/* 暗號化キーを定義します */
$encrypt_key = 'abcdefghijklmnopqrstuvwxyz1234567890';
$decrypt_key = 'ngzqtcobmuhelkpdawxfyivrsj2468021359';

/* 文字列暗號化関數(shù) */
関數(shù) php_encrypt($str)
{
グローバル $encrypt_key, $decrypt_key;

if (strlen($str) == 0)
return false;

for ($i=0; $i {
for ($j=0; $j {
if ($str[$i] == $encrypt_key[$j])
{
$enstr .= $decrypt_key[$j];
休憩;
}
}
}
return $enstr;
}


/* String decrypt function */
function php_decrypt($str)
{
global $encrypt_key, $decrypt_key;

if (strlen($str) == 0)
return false;

for ($i=0; $i {
for ($j=0; $j {
if ($str[$i] == $decrypt_key[$j])
{
$enstr .= $encrypt_key[$j];
休憩;
}
}
}
return $enstr;
}
// }}}


如果代碼不清晰的話,建議查看一下連接,是我在blogchina的博客:

http://heiyeluren .blogchina.com/1741318.html


このウェブサイトの聲明
この記事の內(nèi)容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰屬します。このサイトは、それに相當する法的責任を負いません。盜作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undress AI Tool

Undress AI Tool

脫衣畫像を無料で

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード寫真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

寫真から衣服を削除するオンライン AI ツール。

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中國語版

SublimeText3 中國語版

中國語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統(tǒng)合開発環(huán)境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

PHPで現(xiàn)在のセッションIDを取得する方法は? PHPで現(xiàn)在のセッションIDを取得する方法は? Jul 13, 2025 am 03:02 AM

PHPで現(xiàn)在のセッションIDを取得する方法は、session_id()関數(shù)を使用することですが、session_start()を呼び出して正常に取得する必要があります。 1。Session_start()を呼び出してセッションを開始します。 2。Session_Id()を使用してセッションIDを読み取り、ABC123DEF456GHI789に似た文字列を出力します。 3.返品が空の場合は、Session_start()が欠落しているかどうか、ユーザーが初めてアクセスするか、セッションが破壊されるかを確認します。 4.セッションIDは、ロギング、セキュリティ検証、およびクロスレクエスト通信に使用できますが、セキュリティに注意する必要があります。セッションが正しく有効になり、IDが正常に取得できることを確認してください。

PHPストリングからサブストリングを取得します PHPストリングからサブストリングを取得します Jul 13, 2025 am 02:59 AM

PHP文字列からサブストリングを抽出するには、Substr()関數(shù)を使用できます。これはSyntax substr(String $ string、int $ start、?int $ length = null)であり、長さが指定されていない場合は、端まで傍受されます。中國語などのマルチバイト文字を処理する場合、MB_Substr()関數(shù)を使用して、文字化けコードを避ける必要があります。特定のセパレーターに従って文字列を傍受する必要がある場合は、exploit()を使用するか、strpos()とsubstr()を組み合わせて、ファイル名拡張子またはドメイン名を抽出するなどの実裝できます。

PHPコードの単體テストをどのように実行しますか? PHPコードの単體テストをどのように実行しますか? Jul 13, 2025 am 02:54 AM

unittestinginphpinvolvevidevifignivision like like fike fikionsionsormethodstocatchsearlyandensureliablerefactoring.1)setupphpunitviacomposer、createatestdirectory、and configureautoloadandphpunit.xml.2)

文字列をPHPの配列に分割する方法 文字列をPHPの配列に分割する方法 Jul 13, 2025 am 02:59 AM

PHPでは、最も一般的な方法は、exploit()関數(shù)を使用して文字列を配列に分割することです。この関數(shù)は、指定された區(qū)切り文字を介して文字列を複數(shù)の部分に分割し、配列を返します。構文はエクスプロイト(セパレーター、文字列、制限)であり、セパレーターはセパレーターであり、文字列は元の文字列であり、制限はセグメントの最大數(shù)を制御するオプションのパラメーターです。たとえば、$ str = "Apple、Banana、Orange"; $ arr = Explode( "、"、$ str);結果は["apple"、 "banaです

JavaScriptデータ型:プリミティブ対參照 JavaScriptデータ型:プリミティブ対參照 Jul 13, 2025 am 02:43 AM

JavaScriptデータ型は、プリミティブタイプと參照タイプに分割されます。プリミティブタイプには、文字列、數(shù)字、ブール、ヌル、未定義、シンボルが含まれます。値は不変であり、コピーは値を割り當てるときにコピーされるため、互いに影響を與えません。オブジェクト、配列、関數(shù)などの參照タイプはメモリアドレスを保存し、同じオブジェクトを指す変數(shù)は互いに影響します。 TypeofとInstanceOFを使用してタイプを決定できますが、TypeOfNullの歴史的な問題に注意してください。これらの2種類の違いを理解することは、より安定した信頼性の高いコードを書くのに役立ちます。

HTML5のスクリプトの「async」および「defer」屬性を説明します。 HTML5のスクリプトの「async」および「defer」屬性を説明します。 Jul 13, 2025 am 03:06 AM

AsyncとDeferの違いは、スクリプトの実行タイミングです。 Asyncを使用すると、実行命令を保証することなく、ダウンロード後すぐにスクリプトを並行してダウンロードし、実行することができます。 deferは、HTML解析が完了した後に順番にスクリプトを実行します。どちらもHTML解析をブロックしないでください。 ASYNCの使用は、コードの分析などのスタンドアロンスクリプトに適しています。 Deferは、DOMにアクセスするか、他のスクリプトに依存する必要があるシナリオに適しています。

c c Jul 15, 2025 am 01:30 AM

STD :: Chronoは、現(xiàn)在の時間の取得、実行時間の測定、操作時點と期間の測定、分析時間のフォーマットなど、時間の処理にCで使用されます。 1。STD:: Chrono :: System_Clock :: now()を使用して、現(xiàn)在の時間を取得します。 2。STD:: CHRONO :: STEADY_CLOCKを使用して実行時間を測定して単調(diào)さを確保し、DurateR_CASTを通じてミリ秒、秒、その他のユニットに変換します。 3。時點(Time_Point)と期間(期間)は相互運用可能ですが、ユニットの互換性と時計エポック(エポック)に注意を払う必要があります

PHPの別のページにセッション変數(shù)を渡す方法は? PHPの別のページにセッション変數(shù)を渡す方法は? Jul 13, 2025 am 02:39 AM

PHPでは、セッション変數(shù)を別のページに渡すために、キーはセッションを正しく開始し、同じ$ _Sessionキー名を使用することです。 1.各ページにセッション変數(shù)を使用する前に、session_start()と呼ばれ、スクリプトの前面に配置する必要があります。 2。$ _Session ['username'] = 'Johndoe'などのセッション変數(shù)を設定します。 3。別のページでsession_start()を呼び出した後、同じキー名を介して変數(shù)にアクセスします。 4.各ページでsession_start()が呼び出されることを確認し、事前にコンテンツの出力を避け、サーバーのセッションストレージパスが書き込み可能であることを確認してください。 5.SESを使用します

See all articles