• 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 }





  • 相关阅读:
    java 递归函数
    iOS安全攻防(三):使用Reveal分析他人app
    mapreduce任务失败、重试、猜測式运行机制小结
    javascript UniqueID属性
    弧度和角度的转换
    批处理批量创建90个用户
    【设计模式】状态模式
    【.NET进程通信】初探.NET中进程间通信的简单的实现
    天将降大任于斯人也,必先苦其心志,劳其筋骨,饿其体肤,空乏其身,行拂乱其所为,所以动心忍性,增益其所不能
    冷门却使用的 javascript 技巧
  • 原文地址:https://www.cnblogs.com/79039535/p/2244454.html
Copyright © 2020-2023  润新知