php字符串操作 如何确定一个字符是不是在字符串中strpos函数貌似返回位置 若该字符在开头则返回0就是假了

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php字符串操作 如何确定一个字符是不是在字符串中strpos函数貌似返回位置 若该字符在开头则返回0就是假了相关的知识,希望对你有一定的参考价值。

php字符串操作 如何确定一个字符是否在字符串中strpos函数貌似返回位置 若该字符在开头则返回0就是假了 不存在也是假 如何解决

你说的不对。在不清楚函数到底返回什么时一定要查手册或者自己做实验,切勿瞎猜。

你可以看看下面的测试代码

php > var_dump(strpos('bin', 'a'));
bool(false)
php > var_dump(strpos('bin', 'b'));
int(0)

找不到字符串时,strpos返回false。不要以为0等于false

追问

0就是false 吧 可以这样
if(strpos('bin', 'b')==false)
echo "false==0";

追答

不对。你用===试试。php是弱类型的,会自动类型转换。这里类型也要比较

参考技术A strstr() 函数搜索一个字符串在另一个字符串中的第一次出现。

该函数返回字符串的其余部分(从匹配点)。如果未找到所搜索的字符串,则返回 false。


$str = 'sdjfoeiw@qq.com';
echo strstr($str,'@');
输出: @qq.com
比如说在上面的字符串中我要判断是否存在@就是
if(strstr($str,'@'))
echo ‘你要找的字符存在!’;

else
echo ‘你要找的字符不存在!’;


补充一下,如果要严格区分字符串大小写请用 stristr()这个函数 用法和上面一样本回答被提问者和网友采纳

确定它是不是是 PHP 中字符串的结尾

【中文标题】确定它是不是是 PHP 中字符串的结尾【英文标题】:Determine if it's end of a string in PHP确定它是否是 PHP 中字符串的结尾 【发布时间】:2017-05-22 13:55:47 【问题描述】:

有没有办法确定它是否已到达字符串的末尾。 现在我正在使用这个 PHP 函数

<?php echo substr('some text', 0, 7)?>

限制要显示的字符数。现在我想在文本中添加“...”,但前提是它不是字符串的结尾。

所以当我收到“你好!”的文字时它会显示整个事情,如果我有一个文本“确定”,它不仅会显示“Determi”,还会添加这个“...”,就像“Determi ...”一样。

我已经尝试过这些椭圆和溢出方式,但它们对我不起作用。

上面描述的这样的事情是可能的吗?

【问题讨论】:

你看过strlen吗?你可以用它来比较你想要的长度。 【参考方案1】:

你可以通过内置函数mb_strimwidth来实现:

<?php
echo mb_strimwidth("some text", 0, 7, "...")
// output: "some te..."
?>

【讨论】:

哦,真好,不知道那个! 确实不错。很高兴知道有一个小而简单的功能!【参考方案2】:

你可以这样做:

<?php echo (strlen($text) > 7 ? (substr($text, 0, 7) . '...') : $text) ?>

如果字符串超过 7 个字符,则仅回显前 7 个字符并添加 ...,否则仅回显文本

【讨论】:

【参考方案3】:
function trimStr($str, $len = 7) 
  return strlen($str) > $len ? substr($str, 0, $len) . '...' : $str;

【讨论】:

以上是关于php字符串操作 如何确定一个字符是不是在字符串中strpos函数貌似返回位置 若该字符在开头则返回0就是假了的主要内容,如果未能解决你的问题,请参考以下文章

确定它是不是是 PHP 中字符串的结尾

php如何判断多维数组中是不是存在字符串

如何检查一个字符串是不是以另一个字符串开头 - PHP

如何在 PHP 中对字符串进行切片?

确定字符串是不是具有所有唯一字符

如何使用 PHP 检查一个单词是不是包含在另一个字符串中?