ThinkPHP中有一段源代碼:這個函數是對$_POST中的數據進行過濾。array_walk_recursive($_POST,'think_filter') ; //對數組成員遞歸應用think_filter函數。請問:在下面這個函數中,怎么體現過濾了?value匹配條件后,value后面連接一個空格就是過濾了?我覺得,應該是$value="";才對啊,ThinkPHP源碼中是.=,請大神說一下,這是什么意思?function?think_filter(&$value){
???//?TODO?其他安全過濾
???//?過濾查詢特殊字符
????if(preg_match('/^(EXP|NEQ|GT|EGT|LT|ELT|OR|XOR|LIKE|NOTLIKE)$/i',$value)){
????????$value?.=?'?';
????}
}
3 回答

一瞬兒光
TA貢獻178條經驗 獲得超70個贊
$arr?=?array( ????'a'?=>?1, ????'b'?=>?'LIKE' ) $arr2?=?array( ????'a'?=>?1, ????'b'?=>?'LIKE?' ) //這兩個數組一樣嗎? sql??=?select?field?from?table?where?field_id?like?'%LIKE%'; sql2?=?select?field?from?table?where?field_id?like?'%LIKE?%'; //這兩個sql一樣嗎? function?:?function?think_filter($value){} function2:?function?think_filter(&$value){} //這兩個function的參數一樣嗎? //弄明白這三個的不同你就明白了。
- 3 回答
- 0 關注
- 1486 瀏覽
添加回答
舉報
0/150
提交
取消