PHP连接没有空格的字符串

时间:2017-10-04 19:39:38

标签: php string whitespace add

让我们说

$result='first';

当我这样做时:

$result.='second';

我得到'第一秒'而不是'第一秒'。 如何在不添加这个空格的情况下进行连接?

编辑:

这就是代码。它应该将简单的字符串翻译为“飞行员字母表”。

function converting($words){
  echo $words;
  global $result;
  $result='';
  for($x=0; $x<strlen($words); $x++){
    switch($words{$x}){
      case ' ':
        $result.=' ';
        break;
      case 'A':
        $result.='Alfa';
        break;
      case 'B':
        $result.='Bravo';
        break;
      case 'C':
        $result.='Charlie';
        break;
      case 'D':
        $result.='Delta';
        break;
      case 'E':
        $result.='Echo';
        break;
      case 'F':
        $result.='Foxtrot';
        break;
      case 'G':
        $result.='Golf';
        break;
      case 'H':
        $result.='Hotel';
        break;
      case 'I':
        $result.='India';
        break;
      case 'J':
        $result.='Juliett';
        break;
      case 'K':
        $result.='Kilo';
        break;
      case 'L':
        $result.='Lima';
        break;
      case 'M':
        $result.='Mike';
        break;
      case 'N':
        $result.='November';
        break;
      case 'O':
        $result.='Oscar';
        break;
      case 'P':
        $result.='Papa';
        break;
      case 'Q':
        $result.='Quebec';
        break;
      case 'R':
        $result.='Romeo';
        break;
      case 'S':
        $result.='Sierra';
        break;
      case 'T':
        $result.='Tango';
        break;
      case 'U':
        $result.='Uniform';
        break;
      case 'V':
        $result.='Victor';
        break;
      case 'W':
        $result.='Whiskey';
        break;
      case 'X':
        $result.='Xray';
        break;
      case 'Y':
        $result.='Yankee';
        break;
      case 'Z':
        $result.='Zulu';
        break;
    }
  }
  return $result;
}

该开关还添加了一些我没有定义的情况。它正在添加其他字符,比如'?'要么 '!'如果它们出现在'words'字符串中。

2 个答案:

答案 0 :(得分:3)

虽然我无法识别您的问题(其他海报是正确的,您的代码基本上是正确的,问题必须在源字符串中),您可能需要考虑这个更简单的解决方案:

<?php

function phoneticAlphabetTranslation($word) {
    $translations = [
        ' ' => ' ',
        'a' => 'Alpha',
        'b' => 'Beta',
        'c' => 'Charlie',
    ];

    return str_ireplace(array_keys($translations), array_values($translations), $word);
}

echo phoneticAlphabetTranslation('abAC');

$translations中的每个键都将映射到其提供的字符串中的值。增加了不区分大小写的好处。如果您不希望不区分大小写,请将str_ireplace替换为str_replace

答案 1 :(得分:2)

你的字符串中可能已经有了不可见的空格。

在添加到 $ result 变量

之前,尝试将字符串传递给trim
$result = trim('first');
$result .= trim('second');
echo $result;

或者在加入后删除所有空格。

echo str_replace(" ", "", $result)