下面的代码是用于消毒发布的值。可一些告诉我是什么代码有什么区别
<?php
function sanitize_data(&$value, $key) {
$value = strip_tags($value);
}
array_walk($_POST['keyword'],"sanitize_data");
?>
和
感谢之差,
下面的代码是用于消毒发布的值。可一些告诉我是什么代码有什么区别
<?php
function sanitize_data(&$value, $key) {
$value = strip_tags($value);
}
array_walk($_POST['keyword'],"sanitize_data");
?>
和
感谢之差,
第一个使用值作为refrence,所以你一些变量的变量调用它随时会在外部范围内进行更改,而不仅仅是功能本身。
查看manual for 'reference'如果您想了解更多信息。
它被称为'通过引用'。 &$value
将涉及通过指针传递给函数的原始$value
,而不是在函数版本上工作。请参阅PHP Manual。
第一个函数的第一个参数的值是通过引用传递的,而第二个没有。如果变量是通过引用传递的,则对其进行的更改也将在函数作用域之外的值上完成(在您调用该函数的范围内)。
也读了PHP documentation (pass by reference),并且也在array_walk doc page上进行了演示。
第一种方法称为“传递值作为参考”。 因此$_POST
数组值被改变。
在第二种方法不会改变$_POST
值可以检查,以便链接:有关它很好的解释。
第一函数获得$value
passed by reference,因此它可以直接修改它,所述第二函数会得到$value
的值。