问题标签 [strpos]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - PHP中的Strpos问题
我正在编写一个简单的函数,但由于某种原因(可能是一个简单的函数)它对我不起作用,我想知道你们是否可以帮助我。
在试图找出问题所在时,我将那个回显线放在了 If 语句的上方,以确保变量中确实有东西。
我的问题是 IF 语句永远不会打印出来。
A$postID
是一个数字123123
。
字符串通常$cookie
类似于123123.23422.234234.2342342.234234
谢谢你的帮助!
sql - SQL Server:strpos() 的任何等价物?
我正在处理一个烦人的数据库,其中一个字段包含真正应该存储的两个单独字段。因此,该列存储的内容类似于“第一个字符串~@~第二个字符串”,其中“~@~”是分隔符。(同样,我没有设计这个,我只是想修复它。)
我想要一个查询将它移动到两列中,看起来像这样:
但我找不到任何与 strpos 等效的东西。
php - 从php中的字符串中删除特定字符
如何在 php 中检查字符串中的特定字符,例如“#”或“\”?
我真的不想使用替换,只是返回真或假。
谢谢
php - 我对“strpos”功能的错误?php
我正在尝试strpos
搜索字符串变量以查找$string
短语“test”,如果它不包含“test”,则将另一个变量$change
重新定义为$string2
($change
之前已定义)
但不幸的是,它不起作用。
上面有错吗?
谢谢你。
php - 奇怪的 strpos 行为
这是我的代码:
这是它的输出:
此行为是意外的。我以为我在做的是通过查看我的 HTTP 标头中的 Content-Location 属性来检测软 404。strpos 函数做出我不明白的决定。我哪里做错了?(顺便说一句,我不需要这个在其他网站上工作。)
php - PHP:使用 strpos() 只查找针
我正在使用 strpos() 来寻找大海捞针。但是,我希望它只找到具有相同字符串长度的针。例如:
所以,我需要检查找到的字符串的字符串长度并将其与针匹配,看看它们是否相同长度。所以,123/abc 正确匹配 abc,但我不希望 123/abcdefghijk 匹配 abc,因为它比 3 个字符长得多。
php - 性能明智的字符串匹配
我有一个通用的数据库查询函数,每次发出 SQL 查询时都会运行以下检查:
if (preg_match('~^(?:UPDATE|DELETE)~i', $query) === 1)
if (preg_match('~^(?:UPDATE|DELETE)~iS', $query) === 1)
if ((stripos($query, 'UPDATE') === 0) || (stripos($query, 'DELETE') === 0))
我知道一个简单的strpos()
调用比做一个要快得多preg_match()
,但是由于我调用strIpos()
了两次,我真的不确定哪个应该表现得更好。
第二个选项中的S
模式修饰符也给我带来了一些困惑,来自手册:
当一个模式要被多次使用时,值得花更多时间分析它以加快匹配时间。如果设置了此修饰符,则执行此额外分析。目前,研究模式仅对没有单个固定起始字符的非锚定模式有用。
在这种情况下,速度并不重要(否则我不会使用这个通用查询函数)但是,我仍然希望让它尽可能快地运行,同时保持它的简单性。
我应该选择以上哪个选项?
编辑:我运行了一个简单的基准测试,但我仍然无法确定哪种方法效果更好。
以下是10,000 次尝试的结果(总时间,以秒为单位):
100,000 次尝试:
1,000,000 次尝试:
10,000,000 次尝试:
正如您所看到的结果差异很大,这让我想知道这是否是进行基准测试的正确方法。
php - 使用 PHP 按字符串中搜索查询的位置对 MySQL 的搜索结果进行排序
我希望我的搜索结果按字符串位置从小到大的顺序排列。例如,搜索“banana”会返回:
婴儿食品、李子、香蕉和大米,过滤
香蕉、脱水或香蕉粉
香蕉,生的
面包,香蕉,根据食谱准备,用人造黄油制成
CAMPBELL Soup Company,V8 SPLASH 果汁饮料,草莓香蕉
CAMPBELL Soup Company,V8 SPLASH 冰沙,草莓香蕉
CAMPBELL Soup Company,V8 V. FUSION 果汁,草莓香蕉
我希望“香蕉,生的”排在第一位,因为“香蕉”是结果中的第一个词,我希望“CAMPBELL Soup...”排在最后,因为“香蕉”是最后一个词。
我知道我可以使用 strpos() 来找到位置,但是我该如何把它们放在一起呢?
php - 在 PHP 中,strpos() 无法在字符串中找到双引号 ('"')
这两个:
还有这个:
产生以下输出:
Strpos 完全找不到双引号,它返回 false(我用 strpos() === false 检查)。有人能告诉我这里发生了什么吗?我找不到任何文件表明 strpos 无法处理双引号,为什么找不到它?我已经黔驴技穷了。
php - php 5 strpos() 返回0和false的区别?
我希望这可以解决,确实如此。但是当我这样做时会发生什么
这也传递给 php 5,因为据我所知 strpos 返回 false ,它转换为 0。
这是正确的想法/行为吗?如果是这样,测试子字符串是否位于另一个字符串的开头的解决方法是什么?