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

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

WBOY
WBOYOriginal
2016-06-13 13:33:46824browse

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>
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn