本篇内容主要讲解“PHP中如何去定位字符串与数组中的元素”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“PHP中如何去定位字符串与数组中的元素”吧!
strstr
函数-定位字符串元素
在PHP中可以通过strstr
函数来搜索一个字符串在另一个字符串中的第一次出现,strstr
函数的基本语法格式如下:
strstr(string,search,before_search)
其中需要注意的是:参数string
表示的是需要搜索的字符串,参数search
表示的是被搜索的字符串,如果该参数不是一个字符串那么这个参数就会被转化为整型并且作为字符的序号来使用,参数before_search
默认的是false,如果设置为true
的话,返回的结果就是参数search第一次出现之前的那部分字符串。
该函数的返回结果是从匹配点开始的字符串的剩余部分,如果未找到需要搜索的字符串,那么返回的结果就是flase。
接下来我们通过示例来看一下strstr函数的使用,示例如下:
<?php$email = '123456789123456789@gamil.com';echo $email. '<br/>';//正常输出$domain = strstr($email, '@');//通过strstr函数来搜索@出现的第一次位置echo $domain;?>
输出结果:
在上述示例中,通过strstr函数返回的结果就是我们搜索的字符串之后剩余的部分。我们通过strstr函数完成了定位字符串的目的。
提到定位匹配在PHP中就不得不提到正则表达式了,在上文中我们通过strstr
函数完成了定位字符串,在PHP中还有一个函数是preg_grep
()函数,接下来我们一起来看一下它的用法。
preg_grep
()函数-定位数组元素
在PHP中提到搜索定位,绕不过去的肯定就是正则表达式了,PHP就提供了 preg_grep
() 通过正则表达式来进行匹配数组元素。
preg_grep
()函数的基本语法格式如下:
array preg_grep ( string $pattern , array $input [, int $flags = 0 ] )
其中需要注意的是:参数pattern
是用正则表达式来定义的,也就是要搜索的模式,参数input
表示的是要搜索的数组,参数flags
一般设置为PREG_GREP_INVERT
表示的是这时候的函数返回的结果是不匹配的 $pattern
元素所组成的数组。
接下来我们通过示例来看一下preg_grep
()函数的使用,示例如下:
<?php$pattern = '/[0-9]/';$subject = array('weuy','r3ui','76as83','s','0ck9');$arr = preg_grep($pattern,$subject);show($arr);function show($var){ if(empty($var)){ echo 'null'; }elseif(is_array($var)||is_object($var)){ echo ''; print_r($var); echo ''; }else{ echo $var; }}echo '<br/>';$arr1 = preg_grep($pattern,$subject,PREG_GREP_INVERT);show($arr1);function show1($var1){ if(empty1($var1)){ echo 'null'; }elseif(is_array($var1)||is_object($var1)){ echo ''; print_r($var1); echo ''; }else{ echo $var1; }}?>
输出结果:
通过上述示例我们可以匹配到数组元素,并且参数flags的值不同,preg_grep()函数返回的结果也不同。
到此,相信大家对“PHP中如何去定位字符串与数组中的元素”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!