【问题标题】:PHP Vertical String to Horizontal String [closed]PHP垂直字符串到水平字符串[关闭]
【发布时间】:2018-01-21 19:14:18
【问题描述】:

我的 for 循环得到了结果:
FFFF
AAA
TTTT
电子电气设备

while mod=4 my loop echo br

但我想要这样的结果:
命运
命运
命运
命运

我如何在 php 中做到这一点? 感谢您的回答,对不起我的英语:D

【问题讨论】:

  • 欢迎来到 Stack Overflow。请发布您的一些代码。你试过什么?如果没有更多的上下文,就很难提供建议
  • 请在这里提高您的问题质量。请展示 inout 数据的结构。它是一个字符串吗?它是一个字符串数组吗?
  • 请编辑您的问题。

标签: php string substring


【解决方案1】:

这几乎是重复的:

这可以通过 foreach 循环来完成,但我喜欢压缩的可变参数方法(PHP 5.6+)。 如果您的版本不够高或您想要不同的东西,您可以研究上述链接以查看其他技术。

只需要在旋转前将字符串转换为数组,然后在旋转后转换为imploded()

代码:(Demo)

$input=['FFFF','AAAA','TTTT','EEEE'];
$rotated=array_map(function(){return implode(func_get_args());},...array_map('str_split',$input));
var_export($rotated);

输出:

array (
  0 => 'FATE',
  1 => 'FATE',
  2 => 'FATE',
  3 => 'FATE',
)

这是实现相同结果的一种不太花哨的方法:

$input=['FFFF','AAAA','TTTT','EEEE'];
$length=strlen($input[0]);
foreach($input as $string){
    for($offset=0; $offset<$length; ++$offset){
        if(!isset($rotated[$offset])){$rotated[$offset]='';}
        $rotated[$offset].=$string[$offset];
    }
}
var_export($rotated);

【讨论】:

  • 鉴于来自 TO 的 0 信息,您输入此内容很好。虽然问题中没有提到array - 这个问题与string...有关?
  • OP 的未旋转结果来自 for 循环。如果它不是来自数组,那么它来自像数组一样的东西,并且最明智地转换为数组。
  • 感谢 mickmakusa 和感谢您的 cmets!
  • @user8459759 其他人对我回答您的低质量问题感到失望。请在您的问题中提供更多详细信息。
猜你喜欢
  • 2021-06-03
  • 1970-01-01
  • 1970-01-01
  • 2013-08-20
  • 1970-01-01
  • 1970-01-01
  • 2021-04-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多