小编8se*_*7en的帖子

PHP Morse代码转换器

我正在用PHP写一个基本的莫尔斯电码转换器,可以将一个字符串转换成莫尔斯电码。它使用关联数组,foreach循环和for循环。它起作用,除了出于某种原因,它在每个转换的字符之后输出与“ 0”等效的摩尔斯电码。我不知道0的来源。如果我从关联数组中删除0,就没有问题,但是我也希望能够转换数字。如果有人能够给我一些反馈,将不胜感激。

这是代码:

<?php
$string = "dog";
$string_lower = strtolower($string);
$assoc_array = array(
    "a"=>".-",
    "b"=>"-...", 
    "c"=>"-.-.", 
    "d"=>"-..", 
    "e"=>".", 
    "f"=>"..-.", 
    "g"=>"--.", 
    "h"=>"....", 
    "i"=>"..", 
    "j"=>".---", 
    "k"=>"-.-", 
    "l"=>".-..", 
    "m"=>"--", 
    "n"=>"-.", 
    "o"=>"---", 
    "p"=>".--.", 
    "q"=>"--.-", 
    "r"=>".-.", 
    "s"=>"...", 
    "t"=>"-", 
    "u"=>"..-", 
    "v"=>"...-", 
    "w"=>".--", 
    "x"=>"-..-", 
    "y"=>"-.--", 
    "z"=>"--..", 
    "0"=>"-----",
    "1"=>".----", 
    "2"=>"..---", 
    "3"=>"...--", 
    "4"=>"....-", 
    "5"=>".....", 
    "6"=>"-....", 
    "7"=>"--...", 
    "8"=>"---..", 
    "9"=>"----.",
    "."=>".-.-.-",
    ","=>"--..--",
    "?"=>"..--..",
    "/"=>"-..-.",
    " "=>" ");
    for($i=0;$i<strlen($string_lower);$i++){
        foreach($assoc_array as $letter => $code){
            if($letter == $string_lower[$i]){
                echo "$code<br/>";
            }
        }
    }
?>
Run Code Online (Sandbox Code Playgroud)

php arrays loops converter morse-code

5
推荐指数
1
解决办法
3241
查看次数

标签 统计

arrays ×1

converter ×1

loops ×1

morse-code ×1

php ×1