woff 發表於 2019-9-18 22:29:17

PHP 判斷是否包含某字符串

PHP判斷字符串的包含,可以使用PHP的內置函數strstr,strpos,stristr直接進行判斷
也可以通過explode函數的作用寫一個判斷函數。

strstr 和stristr的用法

/*
strstr: 返回一个从被判断字符开始到结束的字符串,如果没有返回值,则不包含. stristr: 它和strstr的使用方法完全一样.唯一的区别是stristr不区分大小写.
*/

$email = ‘ user@emtalk.com’;
$domain = strstr($email, ‘@’);
echo $domain;// prints @emtalk.com

strpos的用法

/*
strpos: 返回boolean值.FALSE和TRUE不用多说.用 “===”进行判断.strpos在执行速度上都比以上两个函数快,另外strpos有一个参数指定判断的位置,但是默认为空.意思是判断整个字符串.缺点是对中文的支持不好.
PHP判断字符串的包含代码如下:
*/

$str= ‘abc’;
$needle= ‘a’;
$pos = strpos($str, $needle);

explode 的用法

//用explode进行判断PHP判断字符串的包含代码如下:
function checkstr($str){
    $needle = “a”;//判断是否包含a这个字符
    $tmparray = explode($needle,$str);
    if(count($tmparray)>1){
      return true;
    } else{
      return false;
    }
}
$str= ‘abc’;
var_dump(checkstr($str));

in_array — 檢查數組中是否存在某個值例子

//1. in_array() 例子
<?php
$os= array("Mac", "NT", "Irix", "Linux");
if (in_array("Irix", $os)) {
    echo "Got Irix";
}
if (in_array("mac", $os)) {
    echo"Got mac";
}
?>
//第二个条件失败,因为 in_array() 是区分大小写的,所以以上程序显示为:Got Irix

//2. in_array() 严格类型检查例子
<?php
$a= array('1.10', 12.4, 1.13);
if (in_array('12.4', $a, true)) {
    echo"'12.4' found with strict check\n";
}
if (in_array(1.13, $a, true)) {
    echo"1.13 found with strict check\n";
}
?>
//1.13 found with strict check

//3. in_array() 中用数组作为 needle
<?php
$a = array(array('p', 'h'), array('p', 'r'), 'o');
if (in_array(array('p', 'h'), $a)) {
    echo "'ph' was found\n";
}
if (in_array(array('f', 'i'), $a)) {
    echo "'fi' was found\n";
}
if (in_array('o', $a)) {
    echo "'o' was found\n";
}
?>

/*
上例将输出:
'ph' was found
    'o' was found
*/


文章出處
頁: [1]
查看完整版本: PHP 判斷是否包含某字符串