php charat,如何在PHP中生成字符串的所有排列?
发布日期:2021-06-24 17:40:00 浏览次数:2 分类:技术文章

本文共 871 字,大约阅读时间需要 2 分钟。

我会将所有字符放在一个数组中,并编写一个递归函数,它将“删除”所有剩余的字符。如果数组为空,则为引用传递的数组。<?php

$input = "hey";function string_getpermutations($prefix, $characters, &$permutations){

if (count($characters) == 1)

$permutations[] = $prefix . array_pop($characters);

else

{

for ($i = 0; $i 

{

$tmp = $characters;

unset($tmp[$i]);

string_getpermutations($prefix . $characters[$i], array_values($tmp), $permutations);

}

}}$characters = array();for ($i = 0; $i 

$characters[] = $input[$i];$permutations = array();print_r($characters);string_getpermutations("", $characters, $permutations);print_r($permutations);

打印出来:Array(

[0] => h    [1] => e    [2] => y)Array(

[0] => hey    [1] => hye    [2] => ehy    [3] => eyh    [4] => yhe    [5] => yeh)

啊,是的,组合=顺序无关紧要。排列=顺序确实很重要。

所以,嘿,是的,所有的组合都是一样的,但是提到了3个独立的排列。注意物品的规模上升得非常快。它叫做阶乘,写得像6!= 6 * 5 * 4 * 3 * 2 * 1 = 720项(6字符串)。一个10个字符的字符串将是10!= 3628800已经排列,这是一个非常大的数组。在这个例子中它是3!= 3 * 2 * 1 = 6。

转载地址:https://blog.csdn.net/weixin_34185033/article/details/115596405 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:php rabbitmq yii2,PHP rabbitmq producer for yii2
下一篇:php将数据转换成浮点数,php怎么把字符串转换为浮点数

发表评论

最新留言

关注你微信了!
[***.104.42.241]2024年03月30日 06时07分38秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章