下面的代碼是用於消毒發佈的值。可一些告訴我是什麼代碼有什麼區別
<?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
的值。