2014-01-11 145 views
0

下面的代碼是用於消毒發佈的值。可一些告訴我是什麼代碼有什麼區別

<?php 
    function sanitize_data(&$value, $key) { 
    $value = strip_tags($value); 
} 
array_walk($_POST['keyword'],"sanitize_data"); 
?> 

​​

感謝之差,

回答

0

第一個使用值作爲refrence,所以你一些變量的變量調用它隨時會在外部範圍內進行更改,而不僅僅是功能本身。

查看manual for 'reference'如果您想了解更多信息。

0

它被稱爲'通過引用'。 &$value將涉及通過指針傳遞給函數的原始$value,而不是在函數版本上工作。請參閱PHP Manual

0

第一個函數的第一個參數的值是通過引用傳遞的,而第二個沒有。如果變量是通過引用傳遞的,則對其進行的更改也將在函數作用域之外的值上完成(在您調用該函數的範圍內)。

也讀了PHP documentation (pass by reference),並且也在array_walk doc page上進行了演示。

0

第一種方法稱爲「傳遞值作爲參考」。 因此$_POST數組值被改變。

在第二種方法不會改變$_POST

值可以檢查,以便鏈接:有關它很好的解釋。

https://stackoverflow.com/a/2157816/270037

0

第一函數獲得$valuepassed by reference,因此它可以直接修改它,所述第二函數會得到$value的值。