2017-08-14 44 views
-5

我得到的結果我的for循環:
FFFF
AAAA
TTTT
EEEE
PHP垂直字符串到橫紋

而MOD = 4我的循環回聲BR

,但我想結果像這樣:
FATE
FATE
FATE
FATE

我如何在php中做到這一點? 感謝答案,對不起我的英語:d

+4

歡迎堆棧溢出。請發佈一些你的代碼。你有什麼嘗試?在沒有更多背景的情況下提供建議非常困難,例如 – Milk

+0

請在您來此時提高您的問題的質量。請說明輸入數據的結構。它是一個字符串嗎?它是一串字符串嗎? – mickmackusa

+0

請編輯您的問題。 – mickmackusa

回答

0

這是幾乎重複:

這可以用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); 
+0

很好,你輸入這個從給定0信息。在問題中沒有提及'array',但是這個問題涉及到一個'string' ...? – trs

+0

OP的未旋轉結果來自for循環。如果它不是來自數組,則它來自像數組一樣行爲的東西,並且最明智地轉換爲數組。 – mickmackusa

+0

謝謝你mickmakusa和感謝您的意見! – user8459759