首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP函数-自定义字符串长度函数

PHP函数-自定义字符串长度函数
EN

Stack Overflow用户
提问于 2010-11-30 11:51:55
回答 2查看 928关注 0票数 0

在php中,什么函数可以只显示长度大于50个字符的字符串,将其截断为不超过130个字符,并将其限制为一个结果?

例如,假设我的结果集中有30行,但我只想显示具有这些参数的最新行。如果最新的行有25个字符,则不应显示。它应该只显示字符串长度为50个或更多字符的最新字符串。

EN

回答 2

Stack Overflow用户

发布于 2010-11-30 12:32:10

使用SQL查询。为了找到您想要的最新值,可以使用auto_increment主键(我称其为id)或创建行时的日期/时间(比如time time_created)。

所以我假设表是: id (int),stringVal (string,char(),varchar()等等)

代码语言:javascript
复制
SELECT MAX(id),  SUBSTRING(stringVal, 1, 130)
FROM yourTable
WHERE LENGTH(stringVal) > 30

如果有必要,请用时间字段替换id。如果没有它们中的一个,你将很难找到最新的,但你总是可以任意选择一行。

--Edit--在PHP中使用mysql函数运行上述查询和获取所需输出的示例

代码语言:javascript
复制
$sql = "SELECT MAX(id),  SUBSTRING(stringVal, 1, 130) FROM yourTable WHERE LENGTH(stringVal) > 30";
$r = mysql_query($sql, $conn); //im hoping $conn or something like it is already set up
$row = mysql_fetch_assoc($r);
$desiredString = $row['stringVal'];
票数 1
EN

Stack Overflow用户

发布于 2010-11-30 12:03:41

像这样的事情应该能做的就是确保你先抓取你的数据,按照最新的条目排序。break语句将确保在找到符合条件的第一个结果后终止循环...

代码语言:javascript
复制
foreach($array_returned_from_query as $row)
{
    if(strlen($row) > 50)
    {
        echo substr($row, 0, 130);
        break;
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4310375

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档