番号 1234567 を与えて、7654321 を出力するプログラムを書いてもらえますか?いわゆる反転出力または逆順出力です。プログラマーとして、実装について何かアイデアをお持ちの方はいらっしゃいますか?
まず最初に 2 つのアイデアを示します:
1. 再帰関数は正の整数を渡し、最初に最後の数値を出力し、次にそれを次の値で割ります。 10 を使用し、再帰関数を使用して反復を継続します。正の整数が 0 になると再帰は終了します。
2. 整数を逆順に出力し、それを 0 になるまで 10 で割って、10 の余りを出力します。最終的な結果は、この整数の逆順になります。
まずローカルで練習してから、私が示した方法を比較してください。
以下は私が指定したメソッドです:
PHP コードは次のとおりです:
<?php function reverse_integer($n) { $reverse = 0; while ($n > 0) { $reverse = $reverse * 10; $reverse = $reverse + $n % 10; $n = (int)($n/10); } return $reverse; } print_r(reverse_integer(1234)."<br>"); print_r(reverse_integer(23));
出力結果:
4321 32
関連するものの紹介知識ポイント:
ループ ステートメント while: 指定された条件が true である限り、ループ コード ブロック;
x % y: モジュロ (除算の余り)、x を除算した余りy;
x / y: 除算、x と y の商;
x * y: 乗算、x と y の積;
print_r() 関数: 使用フォーム内の表示を理解しやすくするために変数を出力します。
(int) 使用例:
$a=0.99; $b=(int)$a; //$b=0; $a=1.99; $b=(int)$a; //$b=1;
int の概要を添付します:
int は、 set ℤ = {...、-2、-1、0、1、2、...} の数値。
整数値 int は、10 進数、16 進数、8 進数、または 2 進数で表すことができ、先頭にオプションの記号 (- または ) を付けることができます。負の演算子を使用して、負の int を表すことができます。
8 進数表現を使用するには、数値の前に 0 (ゼロ) を追加する必要があります。 16 進数表現を使用するには、数値の前に 0x を付ける必要があります。バイナリ表現を使用するには、数値の前に 0b を付ける必要があります。
PHP 7.4.0 以降、整数値にはアンダースコア (_) が含まれる場合があります。読みやすさを向上させるため、これらのアンダースコアは表示時に PHP によって除外されます。
最後に、最新かつ最も包括的な「PHP ビデオ チュートリアル 」をお勧めします。ぜひ学んでください。
以上が正の整数を素早く反転し、PHP プログラムを通じて出力します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。