php - 如何检查一个字符串是否是另一个字符串的重新排序?
问题描述
如果我有两个字符串,例如“123456789”和“135792468”,并且我想知道它们是否是相互重新排序的,那么 PHP 中是否有一个函数function is_reorder(str1, str2)
可以输入is_reorder(123456789, 135792468)
并返回TRUE
,因为 123456789 只是 135792468以不同的顺序?
如果没有内置功能,我该怎么做?
解决方案
这是一个方法:
$string1 = '123456789';
$string2 = '135792468';
$stringParts1 = str_split($string1);
sort($stringParts1);
$stringParts2 = str_split($string2);
sort($stringParts2);
if($stringParts1 == $stringParts2){
echo 'strings are a reorder';
}else{
echo 'strings are not a reorder';
};
这样做是将字符串分开,按字母顺序对字符进行排序,然后进行比较。这是一个例子
编辑:该implode()
功能已被删除,因为不必要。
推荐阅读
- javascript - ajax 不工作禁用选择标签中的重复数据和
- python - 发布http请求django restfamework中的问题
- laravel - '429 Too many requests' 在 laravel 中使用 guzzle
- reactjs - 无法使用 displayName 读取用户名
- python - 如何在 python 中使用 FFmpeg 进行桌面流而不缓冲或保存到文件
- machine-learning - 用户警告:一项或多项考试成绩不限:[nan nan nan nan nan nan nan nan nan]
- wordpress - WordPress MultiSite 不加载文件或不允许我登录
- c# - 在两个具有相同值但不在同一个位置的列表中查找差异
- r - 计算不同列数的分组平均值
- python - Python Futures Concurrent 在 Flask 中不起作用