比如我现在有一个数组
$array=Array("a",'b','c','d','e','f','g');
当然不止这么几个
我想要输出的结果是:
a
b
c
d
e
f
g
aa
ab
ac
ad
ae
af
ag
ba
bb
bc
bd
be
bf
bg
ca
cb
cc
…………
gaaaaaaa
gaaaaaab
gaaaaaac
gaaaaaad
gaaaaaae
…………
就是把这些字符能组成的字符串都罗列出来
回复讨论(解决方案)
LZ的问题好像有点歧义吧,比如a这个字母
a算一个 aa算一个 aaa算一个 aaaaaaaaaaaaaaaaaaaaaaaaaa也是一个
要多少是结束啊?
比如我现在有一个数组
$array=Array("a",'b','c','d','e','f','g');
当然不止这么几个
我想要输出的结果是:
a
b
c
d
e
f
g
aa
ab
ac
ad
ae
af
ag
ba
bb
bc
bd
be
bf
bg
ca
cb
cc
…………
gaaaaaaa
gaaaaaab
gaaaaaac
gaaaaaad
gaaaaaae
…………
就是把这些字符能组成的字符串都罗列出来
没问题的,就是要无限个啊。。。
$array=Array("a",'b','c','d','e','f','g');
for($i=-1;$i
echo $array[$i].$v."
";
}
}
希望能帮到你~
那您这程序啥时候停止啊....
没问题的,就是要无限个啊。。。
那您这程序啥时候停止啊....
没问题的,就是要无限个啊。。。
拔下电源的时候...
估计是想做对撞机
那您这程序啥时候停止啊....
没问题的,就是要无限个啊。。。
拔下电源的时候...
虽然楼主需求看上去有些无厘头,但如果设定好终止条件也并非不能实现
在有限个数的前提下,这个算法还是很具挑战性的
我先来的抛砖引玉
$ar = array("a",'b','c');print_r(allot($ar, 4));print_r(allot($ar, 2));function allot($ar, $num) { static $st = array(); //用于缓存中间结果 $res = array(); //用于承载返回结果 if(! $st) { $t = $ar; }else { $t = array(); foreach($ar as $v) { $t = array_merge($t, array_map( function($item, $prefix) { return $prefix . $item; }, $st, array_fill(0, count($st), $v))); } }// foreach($t as $v) echo $v . PHP_EOL; //直接产生输出 $res = $st = $t; if($num > 1) $res = array_merge($res, allot($ar, $num-1)); else $st = array(); //初始缓存,以便下一次调用 return $res;}Array
(
[0] => a
[1] => b
[2] => c
[3] => aa
[4] => ab
[5] => ac
[6] => ba
[7] => bb
[8] => bc
[9] => ca
[10] => cb
[11] => cc
[12] => aaa
[13] => aab
[14] => aac
[15] => aba
[16] => abb
[17] => abc
[18] => aca
[19] => acb
[20] => acc
[21] => baa
[22] => bab
[23] => bac
[24] => bba
[25] => bbb
[26] => bbc
[27] => bca
[28] => bcb
[29] => bcc
[30] => caa
[31] => cab
[32] => cac
[33] => cba
[34] => cbb
[35] => cbc
[36] => cca
[37] => ccb
[38] => ccc
[39] => aaaa
[40] => aaab
[41] => aaac
[42] => aaba
[43] => aabb
[44] => aabc
[45] => aaca
[46] => aacb
[47] => aacc
[48] => abaa
[49] => abab
[50] => abac
[51] => abba
[52] => abbb
[53] => abbc
[54] => abca
[55] => abcb
[56] => abcc
[57] => acaa
[58] => acab
[59] => acac
[60] => acba
[61] => acbb
[62] => acbc
[63] => acca
[64] => accb
[65] => accc
[66] => baaa
[67] => baab
[68] => baac
[69] => baba
[70] => babb
[71] => babc
[72] => baca
[73] => bacb
[74] => bacc
[75] => bbaa
[76] => bbab
[77] => bbac
[78] => bbba
[79] => bbbb
[80] => bbbc
[81] => bbca
[82] => bbcb
[83] => bbcc
[84] => bcaa
[85] => bcab
[86] => bcac
[87] => bcba
[88] => bcbb
[89] => bcbc
[90] => bcca
[91] => bccb
[92] => bccc
[93] => caaa
[94] => caab
[95] => caac
[96] => caba
[97] => cabb
[98] => cabc
[99] => caca
[100] => cacb
[101] => cacc
[102] => cbaa
[103] => cbab
[104] => cbac
[105] => cbba
[106] => cbbb
[107] => cbbc
[108] => cbca
[109] => cbcb
[110] => cbcc
[111] => ccaa
[112] => ccab
[113] => ccac
[114] => ccba
[115] => ccbb
[116] => ccbc
[117] => ccca
[118] => cccb
[119] => cccc
)
Array
(
[0] => a
[1] => b
[2] => c
[3] => aa
[4] => ab
[5] => ac
[6] => ba
[7] => bb
[8] => bc
[9] => ca
[10] => cb
[11] => cc
)

TheSecretTokeEpingAphp-PowerEdwebSiterUnningSmoothlyShyunderHeavyLoadInVolvOLVOLVOLDEVERSALKEYSTRATICES:1)emplactopCodeCachingWithOpcachingWithOpCacheToreCescriptexecution Time,2)使用atabasequercachingCachingCachingWithRedataBasEndataBaseLeSendataBaseLoad,3)

你应该关心DependencyInjection(DI),因为它能让你的代码更清晰、更易维护。1)DI通过解耦类,使其更模块化,2)提高了测试的便捷性和代码的灵活性,3)使用DI容器可以管理复杂的依赖关系,但要注意性能影响和循环依赖问题,4)最佳实践是依赖于抽象接口,实现松散耦合。

是的,优化papplicationispossibleandessential.1)empartcachingingcachingusedapcutorediucedsatabaseload.2)优化的atabaseswithexing,高效Quereteries,and ConconnectionPooling.3)EnhanceCodeWithBuilt-unctions,避免使用,避免使用ingglobalalairaiables,并避免使用

theKeyStrategiestosiminificallyBoostphpapplicationPermenCeare:1)useOpCodeCachingLikeLikeLikeLikeLikeCacheToreDuceExecutiontime,2)优化AtabaseInteractionswithPreparedStateTemtStatementStatementSandProperIndexing,3)配置

aphpdepentioncontiveContainerIsatoolThatManagesClassDeptions,增强codemodocultion,可验证性和Maintainability.itactsasaceCentralHubForeatingingIndections,因此reducingTightCightTightCoupOulplingIndeSingantInting。

选择DependencyInjection(DI)用于大型应用,ServiceLocator适合小型项目或原型。1)DI通过构造函数注入依赖,提高代码的测试性和模块化。2)ServiceLocator通过中心注册获取服务,方便但可能导致代码耦合度增加。

phpapplicationscanbeoptimizedForsPeedAndeffificeby:1)启用cacheInphp.ini,2)使用preparedStatatementSwithPdoforDatabasequesies,3)3)替换loopswitharray_filtaray_filteraray_maparray_mapfordataprocrocessing,4)conformentnginxasaseproxy,5)

phpemailvalidation invoLvesthreesteps:1)格式化进行regulareXpressecthemailFormat; 2)dnsvalidationtoshethedomainhasavalidmxrecord; 3)


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

MinGW - 适用于 Windows 的极简 GNU
这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

SublimeText3汉化版
中文版,非常好用

DVWA
Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中

禅工作室 13.0.1
功能强大的PHP集成开发环境

PhpStorm Mac 版本
最新(2018.2.1 )专业的PHP集成开发工具