本文目录一览:
- 1、帮我解释一下这段PHP的代码,新人不太明白
- 2、帮我解释下这段PHP代码的意思
- 3、麻烦帮解释下这段PHP代码 是什么意思 谢谢!
- 4、这段php代码的意思?
- 5、帅哥麻烦能否帮我解释一下这段PHP代码谢谢!
帮我解释一下这段PHP的代码,新人不太明白
分成二部分看
function make_safe($variable)
{$variable = addslashes(trim($variable));
return $variable;}
是一个函数 作用是将$variable中的单引号之类的特殊符号加上’\‘进行转义,是简单的安全过滤
$y0=make_safe($_REQUEST["y0"]);
$x=make_safe($_REQUEST["x"]);
$y=make_safe($_REQUEST["y"]);
if ($y0 != "")
{switch($y0){case "+":$daan =$y+$x;
break;case "-":$daan =$y-$x;
break;case "*":$daan =$y*$x;
break;case "/":$daan =$y/$x;
break;default:}
echo $y.$y0.$x."=".$daan;}
这是一个简单的计算器,y0应该是运行符,前台应该有三个输入框 name 分别是 y0,x,y,提交后传到这个php文件中,最后输出类似与 1+1=2 ,2-1=1 的样式
帮我解释下这段PHP代码的意思
$lev=0;循环中第一次运行的代码,以后不再运行
如果$lev$level*2-1执行代码部分,$level_nbsp.="
",“.”的意思相当于JAVASCRIPT中的+或者VB中的。这条语句的意思也就是说,把空格追加到变量$level_nbsp后面
执行完毕以后再执行$lev++,++的意思就是$lev自身加1,然后再回到$lev$level*2-1,知道条件不成立为止
麻烦帮解释下这段PHP代码 是什么意思 谢谢!
就是写出你朋友的数量和各个名字,你运行一次就知道了。
你的朋友是:"Robert Barwell", "Mike Parry", "Jeremy Beacock"
数量是friendNames.Length
这段php代码的意思?
整个代码是用来过滤恶意注入的。
if(isset($_REQUEST['GLOBALS']) || isset($_FILES['GLOBALS'])) exit('Request Denied');
这一行是发现有恶意的全局变量提交上来就拦截。
@set_magic_quotes_runtime(0);
$MQG = get_magic_quotes_gpc();
这里是读取系统环境变量
foreach(array('_POST', '_GET', '_COOKIE') as $__R) {
这个是新建一个数组,三个值就在上面了。
if(isset($$__R)) {
foreach($$__R as $__k = $__v) {
if(isset($$__k) $$__k == $__v) unset($$__k);
}
估计难的就是这里吧。。$__R 在第一次循环时,值是 _POST 前面再加一个 $ 即 $_POST
如果 $_POST 已经赋值,这个有点多余,因为这是内置变量,一定存在的。
之后把 $$__R 分别看成 $_POST $_GET 啥的即可,拆分 $_POST 每个值到 $__V 里,索引存到 $__K 里。如果有 $_POST['a'] = 'b'; 那 $__K 就是 a ,$__V 就是 b。下面是同样的意思。
如果 $($__K) 即 $a 已经存在,并且这个变量的值和现在 POST 过来的值相同,就把原来的变量注销掉。只保留 POST 过来的那个变量。
也就是说,如果代码原来有 $a='b' 现在又提交了一个 $_POST['a']='b'; 现在就删掉原来的 $a 保留 POST 的那个。这是用于别人已经成功注入的情况下,可以把他们已经注入的变量干掉。
if(!$MQG)$$__R = daddslashes($$__R);
上面这个是检查环境变量,魔法引号是否开启,如果没有开启的话,过滤整个 $_POST(GET COOKIE)
$$__R = strip_sql($$__R);
$$__R = dsafe($$__R);
上面这两个是自定义过滤,看样子是过滤 SQL 注入啥的。原理同上。
}
}
帅哥麻烦能否帮我解释一下这段PHP代码谢谢!
?php
if($item['q_content']){
//检查数组变量$item['q_content']是否存在
$item_q_content = unserialize($item['q_content']);//用 unserialize() 还原已经序列化的对象
$keysvalue = $new_array = array();//声明数组变量
foreach($item_q_content as $k=$v){
//将$item_q_content循环,由此可以断定它是个数组
$keysvalue[$k] = $v['time'];//将 $item_q_content中的time键值复制到新变量$keysvalue中去(结合下面的代码,这赋值一点意义都没有,你要的只是键值而已)
$h=date("H",$v['time']);//取得小时
$i=date("i",$v['time']);//取得分钟
$s=date("s",$v['time']);//取得秒
list($timesss,$msss) = explode(".",$v['time']);//用.字符串分割$v['time']
$item_q_content[$k]['timeadd'] = $h.$i.$s.$msss;//重新赋值$item_q_content,并建立一个多维数组
}
arsort($keysvalue); //asort($keysvalue);正序
reset($keysvalue);//将 array 的内部指针倒回到第一个单元
foreach ($keysvalue as $k=$v){
//遍历$keysvalue,得到$k,也就是键值
$new_array[$k] = $item_q_content[$k];//取得变量$item_q_content中键值的值,并且重新赋值给新变量$new_array
}
$item['q_content'] = $new_array;//赋值
}