php算法看不懂,请高手逐句给解释下吧!该怎么处理
程序员文章站
2022-06-17 15:30:52
...
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删掉。
------解决方案--------------------
来试试看。
$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); //类似上面相关文章
相关视频