PHP のアルゴリズムが理解できないので、専門家に一文ずつ説明してもらいましょう。何をするか

WBOY
リリース: 2016-06-13 13:33:46
オリジナル
818 人が閲覧しました

php算法看不懂句,请高手给解释下吧!急
$MM_paramName = "";?

// *** レコードに移動およびレコードに移動: URL およびフォームのパラメータを維持するための文字列を作成します
// 維持すべきでないパラメータのリストを作成します
$MM_removeList = "&index =";
if ($MM_paramName != "") $MM_removeList .= "&".strto lower($MM_paramName)."=";
$MM_keepURL="";
$MM_keepForm="" ;
$MM_keep Both="";
$MM_keepNone="";
// URL パラメーターを MM_keepURL 文字列に追加します
reset ($HTTP_GET_VARS);
while (list ($key) , $val) = each ($HTTP_GET_VARS)) {
$nextItem = "&".strto lower($key)."=";
if (!stristr($MM_removeList, $nextItem)) {
$MM_keepURL .= "&".$key."=".urlencode($val);
}
}
// URL パラメーターを MM_keepURL 文字列に追加します
if(isset( $HTTP_POST_VARS)){
リセット ($HTTP_POST_VARS);
while (list ($key, $val) = each ($HTTP_POST_VARS)) {
$nextItem = "&".strto lower($key) ."=";
if (!stristr($MM_removeList, $nextItem)) {
$MM_keepForm .= "&".$key."=".urlencode($val);
}
}
}
// フォーム + URL 文字列を作成し、各文字列から最初の '&' を削除します
$MM_keep Both = $MM_keepURL."&".$MM_keepForm;
if (strlen($MM_keep Both) > 0) $MM_keep Both = substr($MM_keep Both, 1);
if (strlen($MM_keepURL) > 0) $MM_keepURL = substr($MM_keepURL, 1);
if (strlen($MM_keepForm) > 0) $MM_keepForm = substr($MM_keepForm, 1);

-----解决方案---------
GET パラメータと POST パラメータはすべて GET パラメータに新しく接続され、MM_keep Both という呼び出しを形成します。これは、受信時に取得されたものです。 &key=val、この文字列は複数の & で始まり、substr の除去が必要です。

------解解案---------

PHP コード
 $MM_paramName = ""; 

// *** レコードに移動およびレコードに移動: URL およびフォームパラメータを維持するための文字列を作成します
// 維持すべきではないパラメータのリストを作成します
$MM_removeList = "&index=";
if ($MM_paramName != "") $MM_removeList .= "&".strto lower($MM_paramName)."=;  
$MM_keepURL="";
$MM_keepForm="";
$MM_keep Both="";
$MM_keepNone="";
// URL パラメータを MM_keepURL 文字列に追加します
リセット ($HTTP_GET_VARS);   //$HTTP_GET_VARS などは $_GET にあります。初期の php3/4 バージョンはすべて $HTTP_GET_VARS を使用していましたが、未完了の後にバージョン $HTTP_GET_VARS が使用されました。$_GET が変更されました。
while (list ($key, $val) = each ($HTTP_GET_VARS)) { //遍历数组每项,键=$key,值=$val
$nextItem = "&".strto lower($key)."=";
if (!stristr($MM_removeList, $nextItem)) { //如果MM_removeList中に$nextItemが存在しない
$MM_keepURL .= "&".$key."=".urlencode($val);  //接字文字列
}
}
// URL パラメータを MM_keepURL 文字列に追加します
if(isset($HTTP_POST_VARS)){ //$HTTP_POST_VARS と同じ $HTTP_GET_VARS
リセット ($HTTP_POST_VARS);  // $HTTP_POST_VARS を再配置し、その指を回して 0
while (list ($key, $val) = each ($HTTP_POST_VARS)) { //遍历,同上
$nextItem = "&".strto lower($key)."=";    //接字文字列
if (!stristr($MM_removeList, $nextItem)) { //同上
$MM_keepForm .= "&".$key."=".urlencode($val);  //同じ上
}
}
}
// フォーム + URL 文字列を作成し、各文字列から最初の '&' を削除します
$MM_keep Both = $MM_keepURL."&".$MM_keepForm;
if (strlen($MM_keep Both) > 0) $MM_keep Both = substr($MM_keep Both, 1);   //結果$MM_keep両方の文字の長さが0より大きい場合、1文字の位置を末尾に取得します
if (strlen($MM_keepURL) > 0) $MM_keepURL = substr($MM_keepURL, 1);    //似た上面
if (strlen($MM_keepForm) > 0) $MM_keepForm = substr($MM_keepForm, 1);   //似た上面 <div class="clear"></div>
ログイン後にコピー
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!