(php)生成任意进制N个字符

今天正好在用php写项目,刚好最近在学汇编,就用php随便写个了生成任意进制N个字符(仅限单个字符),代码比较糙,还没来得急优化。回头用c++优化下再贴出来。

<?php

function createNext($str,$arr){
    
    $tmpStr = '';
    $isAdd = false;

    for($i = strlen($str)-1;$i>=0;$i--){

        $char = substr($str,$i,1);


        if($i===strlen($str)-1){
            foreach ($arr as $key => $value) {              
                if($value === $char){   
                    if($key+1 < count($arr)){
                        $tmpStr = $arr[$key+1].$tmpStr;                     
                    }else{
                        $tmpStr = $arr[0].$tmpStr;                  
                        $isAdd = true;
                    }               
                }
            }
        }else{
            if($isAdd){
                foreach ($arr as $key => $value) {              
                    if($value === $char){

                        if($key+1 < count($arr)){
                            $tmpStr = $arr[$key+1].$tmpStr;
                            $isAdd = false;
                        }else{
                            $tmpStr = $arr[0].$tmpStr;  
                            $isAdd = true;
                        }                   
                    }
                }
            }else{
                $tmpStr = $char.$tmpStr;
            }
        }   
    }

    if($isAdd){
        $tmpStr = $arr[1].$tmpStr;
    }
    return $tmpStr;
}

$arr      = ['0','1','2','3','4','5','6','7','8','9'];
$arr      = ['0','1','2','3','4','5'];
$arr      = ['a','b','c','d','e'];


$res      = createNext('abc',$arr);

$firstStr = $arr[0];
$total    = 155;
echo $firstStr ." ";

for ($i=0; $i < $total; $i++) {
    $res = createNext($firstStr,$arr);
    $firstStr = $res;
    echo $firstStr." ";
}

echo "\n";



?>

Paste_Image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 176,367评论 25 709
  • PHP 学习目录 ├─PHP视频教程 1 LAMP网站构建 │ ├─PHP教程 1.1.1 新版视频形式介绍│ ...
    曹渊说创业阅读 16,256评论 29 417
  • 这是一个短小精干的故事,讲述了主人公王一生,一个痴迷于象棋的人,在那个时代的坚守和执着。 王一生家境贫寒,母亲靠叠...
    老胡冷静阅读 4,095评论 0 4
  • 默 离索 愁眉锁 锦书难托 倩影远望折磨 弱柳时叹东风恶 菊烟兰露山长水阔 云展云舒惟我独寂寞 良姻由天定无缘因怯...
    简小蓝阅读 3,904评论 1 2
  • 沉醉的漫画美少女的世界里无法自拔
    悠悠简笔画阅读 2,778评论 0 2

友情链接更多精彩内容