Heim > Backend-Entwicklung > PHP-Tutorial > php算法看不懂,请高手逐句给解释下吧!该怎么处理

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

WBOY
Freigeben: 2016-06-13 13:33:46
Original
859 Leute haben es durchsucht

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>
Nach dem Login kopieren
Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage