楼上答案的效率基本上是可以的 ... 不过还有一些优化的空间 ... 如下 ...

$check_if_all_exist = function( $a, $b ) {

/* most effective way to traverse a string ... */

foreach( array_unique( str_split( $a ) ) as $a_single )

/* stop searching if we meet something not exists in $b ... */

if ( false === strpos( $b, $a_single ) )

/* all passes ..? */

return false; return true;

};

仅限原字符串只有字母数字的情况 ... 宽字符集的话会出错 ...

这比一次 strlen() 之后循环执行 substr() 效率要高很多 ... 这也是我能想到的效率最高的方式 ...

至于为什么没有在最后进行一次性 array_diff() 比较只是因为没有必要 ...

我们只是想知道 是否 字符串 A 里面的元素在 字符串 B 里都有 ... 而不是都有 哪些 重复 ...

一旦 字符串 A 里面出现了 字符串 B 里面没有的元素立即停止就好 ...

我写了几个 testcase ... 最佳的情况是 $a 和 $b 都非常长 ... 我的算法效率大概是楼上算法的 1330% ...

平常情况也会快 20% - 50% 不等 ... 并且楼上三行代码我也是三行 ... code 长度相差也不会很多 ...

想来想去也想不到什么效率更高的方法了 ... 恩恩 ... 就是这样啦 ...

php字符是否在字符串中出现,php 判断一个字符串中的字符是否都在另一个中出现(算法)...相关推荐

  1. 字符串左旋问题及判断一个字符串是否由另一个字符串左旋得到

    字符串左旋问题 问题描述 左旋字符串中的k个字符.例如 ABCD左旋一个字符得到BCDA ,ABCD左旋两个字符得到CDAB 解法一:暴力破解法 先左旋一个字符 将字符串首个字符保存在temp中 字符 ...

  2. java检查两个字符串是否包含,java判断一个字符串是否包含另外一个字符串,java另外一个,要检查一个字符串是否包含...

    java判断一个字符串是否包含另外一个字符串,java另外一个,要检查一个字符串是否包含 要检查一个字符串是否包含另外一个字符串需要使用indexOf()方法,如果indexOf方法返回大于等于0的值 ...

  3. python字符串包含关系_Python实现判断一个字符串是否包含子串的方法总结

    {"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],&q ...

  4. Java:判断一个字符串中是否存在另一个字符子串以及判断一个字符串中是否存在指定字符

    Java:判断一个字符串中包含指定字符子串,判断一个字符串中存在指定字符 字符串的contains方法可以判断一个字符串中是否存在另一个字符子串,示例如下 String Str = "Hel ...

  5. 如何判断一个字符串在JavaScript中是否包含某个字符?

    本文翻译自:How to tell if a string contains a certain character in JavaScript? I have a page with a textb ...

  6. java怎么统计随机数出现次数,Excel统计出现次数、个数的VBA代码 java中怎么判断一个字符串中包含某个字符或字...

    延伸:java中怎么判断一个字符串中包含某个字符或字符 描述:...一个字符串中包含某个字符的单词说出现的次数 c#什么方法可以判断字符串中包含某个字符的个数? JAVA判断字符串数组中是否包含某字符 ...

  7. Java判断一个字符串中是否包含中文字符工具类

    Java判断一个字符串是否有中文一般情况是利用Unicode编码(CJK统一汉字的编码区间:0x4e00–0x9fbb)的正则来做判断,但是其实这个区间来判断中文不是非常精确,因为有些中文的标点符号比 ...

  8. 要求产生10个随机的字符串,每一个字符串互相不重复,每一个字符串中组成的字符(a-zA-Z0-9) 也不相同,每个字符串长度为10;

    import java.util.ArrayList; import java.util.HashSet; import java.util.List; import java.util.Set; / ...

  9. java 包含几个字符_java中如何判断一个字符串包含几个指定字符

    java中如何判断一个字符串包含几个指定字符 可以用String类里的indexOf(String s,int i)方法,这个方法s是字符串div,i是从i下标开始查找该字符串在调用字符串中的位置,返 ...

最新文章

  1. VBScripts and UAC elevation(visa以后的系统)
  2. JQuery事件绑定,bind与on区别
  3. CSS浮动、定位与z-index层叠等级详解——响应式Web系列学习笔记
  4. 如何使用Spring初始化程序创建Spring Boot项目
  5. 【VC编程技巧】窗口☞3.4利用bitmap改变对话框的背景。
  6. (转)Android--sharepreference总结
  7. 萌新的Python练习实例100例(一)四个数字组成互不相同且无重复的三位数
  8. 以太坊上DeFi协议总锁仓量环比上升4.37%
  9. 若依如何配置允许跨域访问?
  10. Oracle递归查询,Oracle START WITH……CONNECT BY查询
  11. 【Pytorch】nvidia-dali——一种加速数据增强的方法
  12. C 语言未初始化的局部变量是多少?
  13. 关于 react的生命周期
  14. 可能是国内最火的开源项目 —— C/C++ 篇
  15. 如果Mac无法连接到其他电脑共享怎么办?
  16. SU Demos-03T-F Analysis-01Sugabor
  17. 手把手教你学单片机,学完马上能自己编写开发程序
  18. WinHex18.4算法分析
  19. 计算机算法基础总结(借鉴、整理)
  20. python数字时钟

热门文章

  1. 低代码开发,未来已来
  2. Writing an ALSA Driver(二)
  3. Typora MarkDown语法笔记(一)
  4. Android音频框架笔记 - 下篇
  5. Android.mk小结
  6. php 个人中心常见界面,UI设计灵感:个人中心界面设计(User Profile)
  7. vue中有汉字和数字。怎么截取汉字保留数字_Excel提取中文,数字和字母,一分钟搞定!...
  8. python培训周末线下班_现在学习Python2还是python3?老男孩Python线下班
  9. csgo跳投绑定指令_csgo控制台指令大全
  10. python拼图游戏代码_教你用Python自制拼图小游戏,轻松搞定熊孩子