【问题标题】:I want to output a string in orthogonal 5×5我想输出一个正交 5×5 的字符串
【发布时间】:2016-08-17 01:21:32
【问题描述】:

如果我有一个字符串,例如 $msj="hello 大家你好吗"; 我想这样输出字符串

你好
埃弗里奥
纽霍
阿约
xxxxx

不计算空格,如果字符串少于 25 个字符,则用 X 代替 并且大于 25 来削减它们

提前致谢

【问题讨论】:

  • 我投票决定将此问题作为离题结束,因为它没有显示 OP 所做的任何努力
  • 欢迎来到 Stackoverflow。请展示您迄今为止尝试过的内容以及您遇到的问题。

标签: php string orthogonal


【解决方案1】:

删除空格并组成 5 个字母的块

$msj = "hello everyone how are you";

// remove spaces
$msj = str_replace(' ', '', $msj);

// append X if needed
$msj = str_pad($msj, 25, "X");

// cut off if needed
$msj = substr($msj, 0, 25);

// make chunks
echo chunk_split($msj, 5, "\n");

【讨论】:

    【解决方案2】:

    以下代码可能会有所帮助。

    <?php
        $str = "hello everyone how are you";
    
        $len = strlen($str);
        $ctr = 0;
    
        for($i=0; $i< $len; $i++)
        {
    
            if($str[$i] != ' ')
            {
                echo $str[$i];
                $ctr++;
            }
            else
            {
                continue;
            }
    
            if($ctr % 5 == 0)
            {
                echo "<br>";
    
            } 
            if($ctr == 25)
            {
                break;
            }
        }
    
        $temp = $ctr;
    
        for($i=0; $i< 25- $ctr; $i++)
        {
            echo 'x';
            $temp ++;
    
            if($temp %5 == 0)
            {
                echo "<br>";
            }
        }
    ?>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-17
      • 2022-06-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多