麻烦帮解释下这段php代码(php问答)

发布时间:2022-11-11

本文目录一览:

  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=22-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);
    $$__R = strip_sql($$__R);
    $$__R = dsafe($$__R);
}

上面这个是检查环境变量,魔法引号是否开启,如果没有开启的话,过滤整个 $_POST$_GET$_COOKIE。 上面这两个是自定义过滤,看样子是过滤 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); // 逆序排序
    reset($keysvalue); // 将数组的内部指针倒回到第一个单元
    foreach ($keysvalue as $k => $v) {
        // 遍历 $keysvalue,得到 $k,也就是键值
        $new_array[$k] = $item_q_content[$k]; // 取得变量 $item_q_content 中键值的值,并且重新赋值给新变量 $new_array
    }
    $item['q_content'] = $new_array; // 赋值
}