我想显示一个希腊短语,即我希望将每个字母显示在另一个字母上,如果是两个字我想要这个输出
var manu = "Hallo";
if (manu === "Hallo") { // ; Remove here
console.log("It Works Bro"); // And added here
}
else {
console.log("Nope Sir"); // And here
}
我使用此代码:
Κ Η
Α Ρ
Λ Θ
Ω Ε
Σ Σ
但我得到了这个输出:
<?php
$str = "HELLO HOW YA DOING WORLD?";
$strWords = explode(' ', $str);
$strLettersRowsArr = array_map('str_split', $strWords);
$maxRows = 0;
foreach ($strLettersRowsArr as $lettersArr) {
if (count($lettersArr) > $maxRows) {
$maxRows = count($lettersArr);
}
}
foreach ($strLettersRowsArr as $key => &$lettersArr) {
while (count($lettersArr) < $maxRows) {
$lettersArr[] = ' ';
}
}
unset($lettersArr);
$strLettersColumnsArr = [];
for ($row = 0; $row < $maxRows; $row++) {
$strLettersColumnsArr[] = array_column($strLettersRowsArr, $row);
}
// Print out letter columns.
foreach ($strLettersColumnsArr as $lettersColumnArr) {
foreach ($lettersColumnArr as $letter) {
echo "$letter ";
}
echo "\n";
}
?>
答案 0 :(得分:1)
希腊字母 - 多字节。这就是问题的原因。
你可以解决它:
替换它:
$strLettersRowsArr = array_map('str_split', $strWords);
由:
$strLettersRowsArr = array_map(function($word) {
return preg_split('##u', $word, -1, PREG_SPLIT_NO_EMPTY);
}, $strWords);