3v4l.org

run code in 300+ PHP versions simultaneously
<?php /** * 文字列の全パターン出力スクリプト * * @package Output * @version 1.0.0 * @since File available since Release 1.0.0 */ error_reporting(E_ALL); /** * ユーザIDをキーにキャッシュから本の配列を取得する。 * 取得出来ない場合はfalseを返す。 * * @param int $lock ロック桁(12345の内3までが固定の場合、3をロック桁) * @param arra $arr 出力対象文字列の配列化した値 * @param arra $srt $arrの出力順序 * @return array|bool */ function output($lock, $arr, $srt) { global $length; // ロック桁以降の全パターン出力 for($k=$lock; $k < $length; $k++) { // 下桁の2パターンになるまでlock桁を進める if($lock < $length - 3) { output($lock+1, $arr, $srt); } else { // 表示(lockまでと下二桁)x2 for($j=0; $j <= 1; $j++) { for($i=0; $i <= $lock; $i++) { echo $arr[$srt[$i]]; } echo $arr[$srt[$lock + $j + 1]]; echo $arr[$srt[$lock + 2 - $j]]; echo "\n"; } } // ロック桁の値の入れ替え(ロック桁以降でロック桁の次に大きい値) $w = $srt[$lock]; for($i=1;$i <= $length-$lock; $i++) { if (($next_addr = array_search($srt[$lock] + $i, array_slice($srt, $lock))) !== false) { $next_addr += $lock; break; } } $srt[$lock] = $srt[$next_addr]; $srt[$next_addr] = $w; } echo "\n"; } // main $str = 'abcdef'; // 対象文字列 $length = strlen($str); $arr = str_split($str); $srt = array_keys($arr); output(0, $arr, $srt);
Output for 5.5.0 - 5.5.35, 5.6.0 - 5.6.21, 7.0.0 - 7.0.20, 7.1.0 - 7.1.25, 7.2.0 - 7.2.33, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.28, 8.2.0 - 8.2.18, 8.3.0 - 8.3.6
abcdef abcdfe abcedf abcefd abcfde abcfed abdcef abdcfe abdecf abdefc abdfce abdfec abecdf abecfd abedcf abedfc abefcd abefdc abfcde abfced abfdce abfdec abfecd abfedc acbdef acbdfe acbedf acbefd acbfde acbfed acdbef acdbfe acdebf acdefb acdfbe acdfeb acebdf acebfd acedbf acedfb acefbd acefdb acfbde acfbed acfdbe acfdeb acfebd acfedb adbcef adbcfe adbecf adbefc adbfce adbfec adcbef adcbfe adcebf adcefb adcfbe adcfeb adebcf adebfc adecbf adecfb adefbc adefcb adfbce adfbec adfcbe adfceb adfebc adfecb aebcdf aebcfd aebdcf aebdfc aebfcd aebfdc aecbdf aecbfd aecdbf aecdfb aecfbd aecfdb aedbcf aedbfc aedcbf aedcfb aedfbc aedfcb aefbcd aefbdc aefcbd aefcdb aefdbc aefdcb afbcde afbced afbdce afbdec afbecd afbedc afcbde afcbed afcdbe afcdeb afcebd afcedb afdbce afdbec afdcbe afdceb afdebc afdecb afebcd afebdc afecbd afecdb afedbc afedcb bacdef bacdfe bacedf bacefd bacfde bacfed badcef badcfe badecf badefc badfce badfec baecdf baecfd baedcf baedfc baefcd baefdc bafcde bafced bafdce bafdec bafecd bafedc bcadef bcadfe bcaedf bcaefd bcafde bcafed bcdaef bcdafe acdbef acdbfe acdebf acdefb bceadf bceafd bcedaf bcedfa bcefad bcefda bcfade bcfaed bcfdae bcfdea bcfead bcfeda bdacef bdacfe bdaecf bdaefc bdafce bdafec bdcaef bdcafe adcbef adcbfe adcebf adcefb bdeacf bdeafc bdecaf bdecfa bdefac bdefca bdface bdfaec bdfcae bdfcea bdfeac bdfeca beacdf beacfd beadcf beadfc beafcd beafdc becadf becafd becdaf becdfa becfad becfda bedacf bedafc bedcaf bedcfa bedfac bedfca befacd befadc befcad befcda befdac befdca bfacde bfaced bfadce bfadec bfaecd bfaedc bfcade bfcaed bfcdae bfcdea bfcead bfceda bfdace bfdaec bfdcae bfdcea bfdeac bfdeca bfeacd bfeadc bfecad bfecda bfedac bfedca cabdef cabdfe cabedf cabefd cabfde cabfed cadbef cadbfe cadebf cadefb cadfbe cadfeb caebdf caebfd caedbf caedfb caefbd caefdb cafbde cafbed cafdbe cafdeb cafebd cafedb cbadef cbadfe cbaedf cbaefd cbafde cbafed cbdaef cbdafe abdcef abdcfe abdecf abdefc cbeadf cbeafd cbedaf cbedfa cbefad cbefda cbfade cbfaed cbfdae cbfdea cbfead cbfeda cdabef cdabfe cdaebf cdaefb cdafbe cdafeb cdbaef cdbafe adbcef adbcfe adbecf adbefc cdeabf cdeafb cdebaf cdebfa bdecaf bdecfa cdfabe cdfaeb cdfbae cdfbea cdfeab cdfeba ceabdf ceabfd ceadbf ceadfb ceafbd ceafdb cebadf cebafd cebdaf cebdfa cebfad cebfda cedabf cedafb cedbaf cedbfa bedcaf bedcfa cefabd cefadb cefbad cefbda cefdab cefdba cfabde cfabed cfadbe cfadeb cfaebd cfaedb cfbade cfbaed cfbdae cfbdea cfbead cfbeda cfdabe cfdaeb cfdbae cfdbea cfdeab cfdeba cfeabd cfeadb cfebad cfebda cfedab cfedba dabcef dabcfe dabecf dabefc dabfce dabfec dacbef dacbfe dacebf dacefb dacfbe dacfeb daebcf daebfc daecbf daecfb daefbc daefcb dafbce dafbec dafcbe dafceb dafebc dafecb dbacef dbacfe dbaecf dbaefc dbafce dbafec dbcaef dbcafe abcdef abcdfe abcedf abcefd dbeacf dbeafc dbecaf dbecfa dbefac dbefca dbface dbfaec dbfcae dbfcea dbfeac dbfeca dcabef dcabfe dcaebf dcaefb dcafbe dcafeb dcbaef dcbafe acbdef acbdfe acbedf acbefd dceabf dceafb dcebaf dcebfa bcedaf bcedfa dcfabe dcfaeb dcfbae dcfbea dcfeab dcfeba deabcf deabfc deacbf deacfb deafbc deafcb debacf debafc debcaf debcfa debfac debfca decabf decafb decbaf decbfa becdaf becdfa defabc defacb defbac defbca defcab defcba dfabce dfabec dfacbe dfaceb dfaebc dfaecb dfbace dfbaec dfbcae dfbcea dfbeac dfbeca dfcabe dfcaeb dfcbae dfcbea dfceab dfceba dfeabc dfeacb dfebac dfebca dfecab dfecba eabcdf eabcfd eabdcf eabdfc eabfcd eabfdc eacbdf eacbfd eacdbf eacdfb eacfbd eacfdb eadbcf eadbfc eadcbf eadcfb eadfbc eadfcb eafbcd eafbdc eafcbd eafcdb eafdbc eafdcb ebacdf ebacfd ebadcf ebadfc ebafcd ebafdc ebcadf ebcafd ebcdaf ebcdfa ebcfad ebcfda ebdacf ebdafc ebdcaf ebdcfa ebdfac ebdfca ebfacd ebfadc ebfcad ebfcda ebfdac ebfdca ecabdf ecabfd ecadbf ecadfb ecafbd ecafdb ecbadf ecbafd ecbdaf ecbdfa ecbfad ecbfda ecdabf ecdafb ecdbaf ecdbfa bcdeaf bcdefa ecfabd ecfadb ecfbad ecfbda ecfdab ecfdba edabcf edabfc edacbf edacfb edafbc edafcb edbacf edbafc edbcaf edbcfa edbfac edbfca edcabf edcafb edcbaf edcbfa bdceaf bdcefa edfabc edfacb edfbac edfbca edfcab edfcba efabcd efabdc efacbd efacdb efadbc efadcb efbacd efbadc efbcad efbcda efbdac efbdca efcabd efcadb efcbad efcbda efcdab efcdba efdabc efdacb efdbac efdbca efdcab efdcba fabcde fabced fabdce fabdec fabecd fabedc facbde facbed facdbe facdeb facebd facedb fadbce fadbec fadcbe fadceb fadebc fadecb faebcd faebdc faecbd faecdb faedbc faedcb fbacde fbaced fbadce fbadec fbaecd fbaedc fbcade fbcaed fbcdae fbcdea fbcead fbceda fbdace fbdaec fbdcae fbdcea fbdeac fbdeca fbeacd fbeadc fbecad fbecda fbedac fbedca fcabde fcabed fcadbe fcadeb fcaebd fcaedb fcbade fcbaed fcbdae fcbdea fcbead fcbeda fcdabe fcdaeb fcdbae fcdbea fcdeab fcdeba fceabd fceadb fcebad fcebda fcedab fcedba fdabce fdabec fdacbe fdaceb fdaebc fdaecb fdbace fdbaec fdbcae fdbcea fdbeac fdbeca fdcabe fdcaeb fdcbae fdcbea fdceab fdceba fdeabc fdeacb fdebac fdebca fdecab fdecba feabcd feabdc feacbd feacdb feadbc feadcb febacd febadc febcad febcda febdac febdca fecabd fecadb fecbad fecbda fecdab fecdba fedabc fedacb fedbac fedbca fedcab fedcba

preferences:
193.17 ms | 416 KiB | 226 Q