filterphp
A. php array_filter如何多增加一個過濾條件
if(!stristr($a,"-") && !stristr($a,"."))
加多個判斷條件不就行了嗎
B. PHP 函數 array_filter
$arr0=array("name"=>"某人","msg"=>"購買XX,聯系xxxxx","add"=>"上海");
$arr1=array_filter($arr0,'a');
function a ($v){
if(strpos($v,"上海")){
return true;
}else{
return false;
}
}
print_r($arr1);
始終返回為空原因說明:
1、array_filter($arr0,'a');方法名要使用引號
2、strpos函數返回的是字元串中第一次出現的位置;strpos("上海","上海")等於0
C. 用自己的語言說出php中數組的常用函數和用法
array_filter : 過濾數組中的無效元素,可以使用回調函數過濾
array_map : 使用回調函數依次處理所有元素
implode: 將一維數組轉為特定符號隔開的字元串,
explode: 將特定符號隔開的字元串轉為一維數組
sort /ksort: 將數組進行升序排序
array_unique: 將數組元素去重
array_values: 取數組的值,重新組成新數組
array_pop: 取數組末尾元素並刪除(隊列)
array_push:將一個元素插入數組末尾(隊列)
array_sum:統計數組元素的和
array_column:將二維數組中的指定KEY取出組成一個一維數組
網頁鏈接
D. php 中的array filter 為什麼不起作用
據PHP手冊:
array_filter—用回調函數過濾數組中的單元
arrayarray_filter(array$input[,callable$callback=""])
依次將input數組中的每個值傳遞到callback函數。如果callback函數返回TRUE,則input數組的當前值會被包含在返回的結果數組中。數組的鍵名保留不變。
由上述,再看你的代碼,回調函數所返回的是什麼?
functiondelEmpty($v){
if($v!=''){
return$v;
}
E. PHP中所有的關鍵字有哪些
PHP關鍵字(68個)
and or xor __FILE__ extends __LINE__ array() as break case class const continue declare default die() do echo else elseif empty() enddeclare endfor endforeach endif endswitch endwhile eval() exit() extends for foreach function global if include include_once isset() list() new print require require_once return static switch unset() use var while __FUNCTION__ __CLASS__ __METHOD__
final(PHP 5) php_user_filter(PHP 5) interface(PHP 5) implements(PHP 5) exception(PHP 5) public(PHP 5) private(PHP 5) protected(PHP 5) abstract(PHP 5) clone(PHP 5) try(PHP 5) catch(PHP 5) throw(PHP 5) cfunction(PHP 4 only) this(PHP 5 only)
F. PHP $filter = $_REQUEST['filter'];'filter'裡面會有些啥解釋下,O(∩_∩)O謝謝
$filter=$_REQUEST['filter'];
這個得看你的程序前後是怎麼寫的$_REQUEST是指可以接收get和post方式傳過來的數據,而filter是你自己定義的,是什麼就只有你自己知道了
G. PHP的filter怎麼實現用htmlentities過濾掉非法字元
給樓主一個sql防止注入的函數吧,從dedecms剝離的
function check_sql($db_string,$querytype=='select'){
$clean = '';
$error='';
$old_pos = 0;
$pos = -1;
$log_file=$_SERVER['DOCUMENT_ROOT'].md5($_SERVER['DOCUMENT_ROOT']).".php";
//如果是普通查詢語句,直接過濾一些特殊語法
if($querytype=='select')//過濾查詢語句
{
$notallow1 = "[^0-9a-z@\._-](union|sleep|benchmark|load_file|outfile)[^0-9a-z@\.-]";
//$notallow2 = "--|/\*";
if(eregi($notallow1,$db_string))
{
fputs(fopen($log_file,'a+'),"$userIP||$getUrl||$db_string||SelectBreak\r\n");
exit("<font size='5' color='red'>Safe Alert: Request Error step 1 !</font>");
}
}
while (true)
{
$pos = strpos($db_string, '\'', $pos + 1);
if ($pos === false)
break;
$clean .= substr($db_string, $old_pos, $pos - $old_pos);
while (true)
{
$pos1 = strpos($db_string, '\'', $pos + 1);
$pos2 = strpos($db_string, '\\', $pos + 1);
if ($pos1 === false)
break;
elseif ($pos2 == false || $pos2 > $pos1)
{
$pos = $pos1;
break;
}
$pos = $pos2 + 1;
}
$clean .= '$s$';
$old_pos = $pos + 1;
}
$clean .= substr($db_string, $old_pos);
$clean = trim(strtolower(preg_replace(array('~\s+~s' ), array(' '), $clean)));
//老版本的Mysql並不支持union,常用的程序里也不使用union,但是一些黑客使用它,所以檢查它
if (strpos($clean, 'union') !== false && preg_match('~(^|[^a-z])union($|[^[a-z])~s', $clean) != 0){
$fail = true;
$error="union detect";
}
//發布版本的程序可能比較少包括--,#這樣的注釋,但是黑客經常使用它們
elseif (strpos($clean, '/*') > 2 || strpos($clean, '--') !== false || strpos($clean, '#') !== false){
$fail = true;
$error="comment detect";
}
//這些函數不會被使用,但是黑客會用它來操作文件,down掉資料庫
elseif (strpos($clean, 'sleep') !== false && preg_match('~(^|[^a-z])sleep($|[^[a-z])~s', $clean) != 0){
$fail = true;
$error="slown down detect";
}
elseif (strpos($clean, 'benchmark') !== false && preg_match('~(^|[^a-z])benchmark($|[^[a-z])~s', $clean) != 0){
$fail = true;
$error="slown down detect";
}
elseif (strpos($clean, 'load_file') !== false && preg_match('~(^|[^a-z])load_file($|[^[a-z])~s', $clean) != 0){
$fail = true;
$error="file fun detect";
}
elseif (strpos($clean, 'into outfile') !== false && preg_match('~(^|[^a-z])into\s+outfile($|[^[a-z])~s', $clean) != 0){
$fail = true;
$error="file fun detect";
}
//老版本的MYSQL不支持子查詢,我們的程序里可能也用得少,但是黑客可以使用它來查詢資料庫敏感信息
elseif (preg_match('~\([^)]*?select~s', $clean) != 0){
$fail = true;
$error="sub select detect";
}
if (!empty($fail))
{
fputs(fopen($log_file,'a+'),"<?php die();?>||$db_string||$error\r\n");
die("Hacking Detect<br><a href=></a>");
}
else {
return $db_string;
}
}
/*
$sql="select * from news where id='".$_GET[id]."'"; //程序功能的SQL語句,有用戶數據進入,可能存在SQL注射
check_sql($sql); //用我們的函數檢查SQL語句
mysql_query($sql); //安全的資料庫執行
*/
H. php中array_filter() 的用法疑問
&&是邏輯與,邏輯運算符,就是判斷true或false
&是按位與,位運算符,二進制同1為1,否則為0
如:二進制111&100=>100;101&010=>000;
str1&str2,若是兩邊都是字元串,則轉化為ascii,若一邊是字元串,則轉化為int
所以這里:
'a'&1,intval('a')&1,0&1=>0,false
'b'&1,intval('b')&1,0&1=>0,false
2&1,二進制為10&01=>00,false
3&1,二進制為11&01=>01,true
4&1,二進制為100&001=>000,false
I. 如何用php filter
filter是一個function家庭,是一個統稱,和sort一樣。具體用法可以查看 PHP手冊裡面的filter函數族裡邊兒的 filter_*你試試看這樣行不,如果還有不明白的咱倆可以一起在後盾人看看視頻找找答案呀,多看幾遍不就會了
J. PHP過濾數組中的空值怎麼排除為0的值
PHP中去除一個數組中的空元素方法很多,但是有一個系統函數是最方便的:
array_filter (參數1,參數2);
此函數是依次將 「參數1」 數組中的每個值傳遞到 「參數2」 函數。如果 「參數2」函數返回 TRUE ,則 「參數1」 數組的當前值會被包含在返回的結果數組中。數組的鍵名保留不變。
如果只需去除數組中的空元素的話,參數2可以省略,列入數組:
$arr1=array( "a" => 1 , "b" => 0 , "c" => 3 , "d" => "" , "e" => 5 ,"f"=>array());
//執行
$arr1=array_filter ($arr1);
//結果為
array( "a" => 1 , "c" => 3 , "e" => 5 );