php算法看不懂,请高手逐句给解释下吧!该怎么处理

WBOY
Libérer: 2016-06-13 13:33:46
original
819 Les gens l'ont consulté

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

// *** Go To Record and Move To Record: create strings for maintaining URL and Form parameters
// create the list of parameters which should not be maintained
$MM_removeList = "&index=";
if ($MM_paramName != "") $MM_removeList .= "&".strtolower($MM_paramName)."=";
$MM_keepURL="";
$MM_keepForm="";
$MM_keepBoth="";
$MM_keepNone="";
// add the URL parameters to the MM_keepURL string
reset ($HTTP_GET_VARS);
while (list ($key, $val) = each ($HTTP_GET_VARS)) {
$nextItem = "&".strtolower($key)."=";
if (!stristr($MM_removeList, $nextItem)) {
$MM_keepURL .= "&".$key."=".urlencode($val);
}
}
// add the URL parameters to the MM_keepURL string
if(isset($HTTP_POST_VARS)){
reset ($HTTP_POST_VARS);
while (list ($key, $val) = each ($HTTP_POST_VARS)) {
$nextItem = "&".strtolower($key)."=";
if (!stristr($MM_removeList, $nextItem)) {
$MM_keepForm .= "&".$key."=".urlencode($val);
}
}
}
// create the Form + URL string and remove the intial '&' from each of the strings
$MM_keepBoth = $MM_keepURL."&".$MM_keepForm;
if (strlen($MM_keepBoth) > 0) $MM_keepBoth = substr($MM_keepBoth, 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参数里,形成一个URL叫做MM_keepBoth,由于拼接时采取了. &key=val,所以字符串开始多了一个&, 需要substr删掉。

------解决方案--------------------
来试试看。

PHP code
 $MM_paramName = ""; 

// *** Go To Record and Move To Record: create strings for maintaining URL and Form parameters
// create the list of parameters which should not be maintained
$MM_removeList = "&index=";
if ($MM_paramName != "") $MM_removeList .= "&".strtolower($MM_paramName)."=";  
$MM_keepURL="";
$MM_keepForm="";
$MM_keepBoth="";
$MM_keepNone="";
// add the URL parameters to the MM_keepURL string
reset ($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 = "&".strtolower($key)."=";
if (!stristr($MM_removeList, $nextItem)) {   //如果MM_removeList中不存在$nextItem
$MM_keepURL .= "&".$key."=".urlencode($val);  //连接字符串
}
}
// add the URL parameters to the MM_keepURL string
if(isset($HTTP_POST_VARS)){  //$HTTP_POST_VARS同$HTTP_GET_VARS
reset ($HTTP_POST_VARS);  //重置$HTTP_POST_VARS,使其指针回到0
while (list ($key, $val) = each ($HTTP_POST_VARS)) {  //遍历,同上
$nextItem = "&".strtolower($key)."=";    //连接字符串
if (!stristr($MM_removeList, $nextItem)) {   //同上
$MM_keepForm .= "&".$key."=".urlencode($val);  //同上
}
}
}
// create the Form + URL string and remove the intial '&' from each of the strings
$MM_keepBoth = $MM_keepURL."&".$MM_keepForm;
if (strlen($MM_keepBoth) > 0) $MM_keepBoth = substr($MM_keepBoth, 1);   //如果$MM_keepBoth字节长度大于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>
Copier après la connexion
Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!