• PHP学习(一):判断数组中的值是否包含某字符


    刚刚开始转型学习PHP。

    昨天布置了些作业,虽然对大家不是很有用,

    就当做自己学习的笔记吧。

    在这里我一共探究出5种方法来实现此功能,当然可能还有其他方法,如果有的望请教!!

    都做了一遍也帮助自己记忆和总结,在些方法中我觉得比较普及的应该是strpos函数,效率上也比较可观(查看过帮助文档).

     1 /**
    2 *
    3 * 判断数组中的字符串是否包含某个字符串,如果包含就从数组中移除。(方法一:使用strpos函数)
    4 * @param unknown_type $arr
    5 */
    6 function f_test($arr){
    7 foreach ($arr as $key => $val){
    8 //strpos函数找到字符串里包含需要查找的字符就会返回在字符串的位置,否则就会返回false,因为0=flase,需要判断用等同和不等同判断
    9 $pos = strpos($val, 'yzw');
    10 if($pos!==false){
    11 unset($arr[$key]);
    12 continue;
    13 }
    14 }
    15 print_r($arr);
    16 }
    17
    18 /**
    19 *
    20 * 判断数组中的字符串是否包含某个字符串,如果包含就从数组中移除。(方法二:使用strstr函数)
    21 * @param unknown_type $arr
    22 */
    23 function g_test($arr){
    24 foreach ($arr as $key => $val){
    25 //strstr函数找到字符串里包含需要查找的字符就会返回该字符后剩余的字符串,否则没找到就会返回fasle,因为0=false,需要判断用等同和不等同判断
    26 $str = strstr($val,'yzw');
    27 if ($str!==false){
    28 unset($arr[$key]);
    29 continue;
    30 }
    31 }
    32 print_r($arr);
    33 }
    34
    35 /**
    36 *
    37 * 判断数组中的字符串是否包含某个字符串,如果包含就从数组中移除。(方法三:使用preg_match函数)preg_match比ereg要强,
    38 * 可支持贪婪模式和不贪婪模式,区分大小写可以在修饰符外加入i模式
    39 * @param unknown_type $arr
    40 */
    41 function h_test($arr){
    42 foreach ($arr as $key => $val){
    43 //preg_match函数值或者变量匹配就会返回大于0,找不到会返回0
    44 $var = preg_match('/yzw/i',$val);
    45 if($var > 0){
    46 unset($arr[$key]);
    47 continue;
    48 }
    49 }
    50 print_r($arr);
    51 }
    52
    53 /**
    54 *
    55 * 判断数组中的字符串是否包含某个字符串,如果包含就从数组中移除。(方法四:使用ereg函数)ereg默认是贪婪模式不支持修饰符要不区分大小写,要换成eregi
    56 * @param unknown_type $arr
    57 */
    58 function j_test($arr){
    59 foreach ($arr as $key => $val){
    60 $str = "(yzw|hyf)";
    61 //eregi不区分大小写函数找到就大于0 找不到就返回FALSE
    62 $bool = eregi($str, $val);
    63 if($bool !== false){
    64 unset($arr[$key]);
    65 continue;
    66 }
    67 }
    68 print_r($arr);
    69 }
     1 /**
    2 *
    3 * 判断数组中的字符串是否包含某个字符串,如果包含就从数组中移除。(方法五:使用array_filter函数和substr_count函数)
    4 * @param unknown_type $arr
    5 */
    6 function k_test($arr){
    7 //过滤数组中的元素
    8 print_r(array_filter($arr),l_test);
    9 }
    10 function l_test($val){
    11 //该方法是判定字符出现在指定变量中多少次,大于零就是包含,返回false就会过滤该数组元素.
    12 if(substr_count($val, 'yzw')>0){
    13 return false;
    14 }else{
    15 return true;
    16 }
    17 }





  • 相关阅读:
    T-SQL over()函数在单个表中的聚合
    jQuery EasyUI DataGrid API 中文文档
    ASP.Net UpdatePanel控件(转)
    java多线程系类:基础篇:03Thread中的start()和run()的区别
    java多线程系类:基础篇:02常用的实现多线程的两种方式
    java多线程系类:基础篇:01基本概念:
    完全二叉树的概念
    007商城项目:商品列表查询-需求分析,以及Spinmvc的访问知识
    006商城项目:该项目的路径访问问题
    githup上传代码
  • 原文地址:https://www.cnblogs.com/79039535/p/2244454.html
Copyright © 2020-2023  润新知