PHPのダイヤモンドパターンを出力する実装方法は、主にループ構造と弦のスプライシングに依存しています。ダイヤモンドの中間列の数を計算し、ループコントロールと組み合わせることにより、ダイヤモンドの上半分、中央列、および下半分が徐々に出力できます。
ダイヤモンドのサイズは、中間行の数によって決定されます。ダイヤモンドの中間列の数が$行であると仮定します。
ダイヤモンドの上半分は、中央の列から始まる線で出力ラインです。 PHPでstr_repeat()関数を使用して、各ラインの前にスペースとアスタリスクを生成できます。ループ制御は$ rows -1で始まり、徐々に減少します。
for ($i = $rows - 1; $i >= 1; $i--) {
$spaces = str_repeat(' ', $i - 1);
$stars = str_repeat('*', 2 * ($rows - $i) + 1);
echo $spaces . $stars . "\n";
}
ダイヤモンドの中央の列には、$ rows * 2-1アスタリスクが含まれています。
$midLine = str_repeat('*', $rows * 2 - 1);
echo $midLine . "\n";
下半分のダイヤモンドの出力法は上半分の出力と似ていますが、今回はライン2行から始まり、ラインごとに出力します。ループ制御は2から始まり、徐々に増加します。
for ($i = 2; $i <= $rows; $i++) {
$spaces = str_repeat(' ', $i - 1);
$stars = str_repeat('*', 2 * ($rows - $i) + 1);
echo $spaces . $stars . "\n";
}
$rows = 5; // ダイヤモンドの中間列の数を設定します 5
// ダイヤモンドの上半分を出力します
for ($i = $rows - 1; $i >= 1; $i--) {
$spaces = str_repeat(' ', $i - 1);
$stars = str_repeat('*', 2 * ($rows - $i) + 1);
echo $spaces . $stars . "\n";
}
// 出力中間線
$midLine = str_repeat('*', $rows * 2 - 1);
echo $midLine . "\n";
// ダイヤモンドの下半分を出力します
for ($i = 2; $i <= $rows; $i++) {
$spaces = str_repeat(' ', $i - 1);
$stars = str_repeat('*', 2 * ($rows - $i) + 1);
echo $spaces . $stars . "\n";
}
上記のコードの例は、PHPコードを使用してダイヤモンドパターンを生成する方法を示しています。ダイヤモンドのサイズを変更するために、必要に応じて$行の値を調整できます。ループの数と文字列ステッチの数を制御することにより、PHPのさまざまなパターンを柔軟に出力できます。