PHP による操作の変更 (演算子)。 Php での数値計算と数学的演算が完了しました

ゴロヴナ / コリズナ情報

高度な数値計算、科学計算、統計計算を行う必要があるプログラムでは、私のインターネット シナリオがこの役割の魅力的な候補者であるとは考えられません。 ただし、これまで述べてきたことにもかかわらず、PHP は、インターネット用のスクリプトを作成するプロセスで発生する数学的タスクのほとんどをカバーする素晴らしい関数セットを提供します。 さらに、PHP 言語は、高精度の数値演算や、ハッシュ ライブラリや暗号化ライブラリの機能など、いくつかの高度な機能を提供します。

PHP 言語の開発者は、完全にプライミング アプローチを採用し、指定されたマークに指定された車輪を再始動するための頻繁なテストを行いませんでした。 右側には、PHP にある基本的な数学関数が多数あり、これらの関数の類似物を C でラッパーしているだけです。

数学的演算

PHP の数学演算のほとんどは、演算の形式ではなく関数の形式で行われます。 更新操作に加えて、PHP は 5 つの操作を使用して単純な算術演算を実行します。さらに、短い増分式や減分式、代入を追加できるショートカット操作も使用します。

算術演算

基本的な 5 つの算術演算には、多機能電卓で実装されている演算と、サブモジュロ (%) 演算が含まれます。 算術演算の簡単な説明を次の表に示します。

算術演算
手術 説明
+ 2 つのオペランドの値の合計を回転します。
- オペランドが 2 つあるため、右側のオペランドの値は左側のオペランドの値に組み込まれます。 右側のオペランドがない場合、演算ではオペランドの値を逆符号で回転します。
* 2 つのオペランドの値を回転します。
/ 左オペランドの値の浮動小数点結果を右オペランドの値で回転します。
% 左オペランドの全体値の剰余を右オペランドの絶対値で回転します。

最初の 3 つの算術演算 (+、-、​​) がプログラムから削除されると、トレースが追加され、これらの演算が削除されると、μ まで精度が向上した拡張タイプの浮動小数点値が生成されます。さらに多くの数字。 これは注意することが重要です。演算のオペランドに整数が含まれる場合、結果は整数になります。また、オペランドの 1 つを同じ精度の浮動小数点数にしたい場合、結果は浮動小数点数になります。軍事精度に基づいたポイント番号。 同じタイプの拡張機能は、サブセクションの最終操作中に使用できます。 また、除算が無駄に(完全に)成立しないため、結果が精度の高い浮動小数点数になるという付加効果​​もある。

PHP のモジュロ (%) 演算は整数オペランドを受け入れますが、この演算は精度の低い浮動小数点数に限定されており、数字は最初に整数に変換されます (この場合、ショット部分は変換されません)。 このような演算の結果は整数になります。

インクリメントおよびデクリメント演算

PHP 言語の構文が C 言語の構文から簡略化されていることは重要であり、C プログラムは書くことが大好きであることで有名であり、C 言語で書かれています。 C 言語から取り入れられたインクリメント演算とデクリメント演算を使用すると、プログラムでよく使用される $count = $count + 1 のような式をより簡潔に表すことができます。

インクリメント演算 (++) は変更の値に 1 を加算して演算を拡張するために使用され、デクリメント演算 (--) は変更の値に 1 を加算します。

これら 2 つの操作のスキンには 2 つの種類があります - サフィックスヌ(この形式では、操作が拡大するにつれて、操作の記号は変更のすぐ後ろに配置されます) 接頭語(この形式では、操作が展開されると、操作の記号が変更の直前に配置されます)。 変更の値を変更すると、両方の異なるタイプに同じ副作用が発生する可能性があり、その結果、接尾辞と接頭辞の操作によって異なる値が循環されます。 サフィックス操作は、値がローテーションされた後に変更可能な値が変更されるように機能し、プレフィックス操作は、最初に値が変更されてから、変更可能な値が新しい値 enny にローテーションされるように機能します。 示された重要度は、演算子に割り当てられたデクリメント演算とインクリメント演算を使用して識別できます。

PHPコード $count = 0; $result = $count++; echo "$count++ インクリメントの結果: ".$result."
"; $count = 0; $result = ++$count; echo "++$count インクリメントの結果: ".$result."
";

次の演算子は、ブラウザ ウィンドウの次のアイコンを形成します。

インクリメント演算

このアプリケーションでは、演算子 $result = $count++ は次の演算子と完全に同等です。

PHPコード $result = $count; $count = $count + 1;

演算子 $result = ++$count の順序は、次の演算子と同等です。

PHPコード $count = $count +1; $result = $count;

割り当てられた操作

インクリメント (およびデクリメント) 演算では、変更の値に 1 を加算するために必要なコードを変更できますが、値を加算した結果を別の数値に加算するコードや計算結果は変更できません。他の算術演算。 幸いなことに、5 つの算術演算はすべて同様の演算 (+=、-=、*=、/=、%=) に割り当てることができるため、1 つの短い式の変更を値の各算術演算の結果に割り当てることができます。価格変更のお知らせ。 たとえば、演算子

PHP コード $count = $count * 3;

このように前置きを短くしてもいいですか

PHP コード $count *= 3;

単純な数学関数

算術演算が停滞するという事実に基づいて、プログラムのコンパイルの次の段階は、さまざまな関数に適用されます。 関数を使用すると、ある数値型から別の数値型への変換 (セクション記事「データ型」) や一連の数値の最小値と最大値の検索などの問題を解決できます。 次の表は、単純な数学関数を示しています。

単純な PHP 数学関数
関数 説明
床() 単一の実パラメータ (通常は可変精度の浮動小数点数) を受け取り、実パラメータより小さいか古い最大の整数を回転します (切り捨て)。
天井() これらの関数は、天井という言葉で短縮されます。 この関数は、単一の実パラメータ (通常は高精度の浮動小数点数) を受け取り、実パラメータより大きいか小さい最小の整数を回転します (切り上げ)。
ラウンド() 単一の実パラメータ (可変精度の浮動小数点数に設定) を受け取り、最も近い整数を回転します。
腹筋() 数値の絶対値。 数値実パラメータが負の値の場合、関数は正の数値を回転させます。 実パラメータが正の場合、関数は実パラメータ自体を回転させます。
分() 数値の実パラメータ (または少なくとも 1 つ) を受け入れ、実パラメータのすべての値の最小値をローテーションします。
最大() 数値の実パラメータ (または少なくとも 1 つ) を受け入れ、実パラメータの最大値をローテーションします。

たとえば、スキン ウイルスの結果は 3 より古く、関数をクリックした場合のスキン ウイルスの残りの値も 3 より古いとします。

PHPコード $result = min(3, abs(-3), max(round(2.7), ceil(2.3), Floor(3.9))));

vipadkovyh 番号の Viroblenya

PHP には 2 つの乱数生成器があります (追加関数についてはここをクリックしてください) ランド()і mt_rand())。 同じ重要性を持つ 3 つの関数が、これらのジェネレーターのスキンに関連付けられています。 cob 値を設定する関数 ( スランド()і mt_srand())、関数自体は、ジェネレーターによって回転できる最大の整数を選択する関数です (( getrandmax()і mt_getrandmax()))。 getrandmax() 関数と mt_getrandmax() 関数は、rand() または mt_rand() によって回転できる最大の数値を回転させます。Windows プラットフォームでは、この値は値 32768 で囲まれます。

関数 rand() などの疑似変数数値を生成するための特定の関数の選択は、PHP インタープリターのコンパイルに使用されるライブラリーで見つけることができます。 さらに、mt_rand() ジェネレーターでは、疑似変数数値を生成する関数そのもの (mt - メルセンヌ ツイスターの略) が常に使用されており、mt_rand() 関数の操作ドキュメントの作成者は、この関数がm また、よりスウェーデン的でよりヒップな (暗号化の観点から)、rand () はありません。これらの主張の真実性を疑う理由はありません。そのため、rand () ではなく mt_rand () 関数をより適切に使用することを尊重します。 )。

異なるプラットフォームで異なるバージョンの PHP を使用する場合、関数 rand() および mt_rand() は、最初に元の値を指定せずに、一見非常に快適な数値を生成するようです。 そんな敵を信用すべきではありません。 まず、cob 値を指定せずに乱数を生成する機能を備えたプログラムは、他のプラットフォームへの移植が非常に容易であり、言い換えれば、cob 値を指定せずに割り当てられた関数の確実な動作が保証されます。

PHP の cob 番号ジェネレーターのいずれかに cob 値を指定する一般的な方法 (mt_srand() または srand() 関数を使用) は次のとおりです。

PHPコード mt_srand((double)microtime()*1000000);

この演算子は、残りの整数秒から正時までに経過するマイクロ秒数に等しい、ジェネレーターのクロック値を指定します。 (microtime() 関数は、パラメーターを関数に渡す操作ではなく、乗算操作で整数として扱われる行を回転させるため、この演算子を double 型にキャストする必要はありません。) 演算子を読んで入力することをお勧めします。 cob 値を指定する場合、この演算子の重要性がよくわかりませんと指定します。 この演算子をページの PHP 側で、従属関数 mt_rand() または rand() の前に 1 回だけ配置するだけで済みます。この演算子により、ポイントの変更が許可され、差が迅速かつランダムに変化することが保証されます。シーケンス。

cob 値を保存するためのこの特定の方法は、疑似容量数値の生成のニュアンスをすべて完全に理解しているファヒヴツィーによって深く考え抜かれたものであるため、すでにすべてを実行した後で、cob 値の最も価値のある部分を再び失うことになります。ローカル プログラムのあらゆる種類の推測の試みは、より「トリッキー」です。

明らかに、擬似浮動数を回転する関数は整数のみを回転するように設計されており、指定された範囲からのランダムな整数は、浮動小数点を使用して同様の数値 (たとえば、ある範囲から ID までの数値) に簡単に変換できます。 rand() / getrandmax() の追加ウイルスの場合は 0.0 ~ 1.0 を含みます。 これらの指示の後、必要に応じて範囲を拡大縮小したり破棄したりできます。 お尻が下を向いている:

PHPコード // 100.0 から 120.0 までの乱数を生成する必要があるとしましょう $random = 100.0 + 20.0 * mt_rand() / mt_getrandmax(); $ランダムをエコーし​​ます。」
// 整数 (100 ~ 120) を生成します。 エコーラウンド($random);

乱数の生成を開始するには、このコードでページを数回更新してみてください。

数学的定数

PHP バージョン 4.0 には、ドキュメントに記載されている数学定数が 1 つだけありました - M_PI (等しい精度の浮動小数点数として表される数値 π の値)。 バージョン PHP 4.0.2 からは、多くの新しい定数が導入されました。 これらの新しい定数のほとんどは、最大 π (またはその値の倍数)、e (または最大でその値の倍数)、および最大平方根でした。 さらに、これらの定数は他の型よりも前から存在していました。 最近のリリースでは、さまざまな理由から、定数のリストは再び均等に少数の指定された数学定数に減らされました。

PHP の数学定数
絶え間ない 説明
M_PI π
M_PI_2 π/2
M_PI_4 π/4
M_1_PI 1/π
M_2_PI 2/π
M_2_SQRTPI 2 / sqrt(π)
自分 e
M_SQRT2 sqrt(2)
M_SQRT1_2 1 / 平方メートル(2)
M_LOG2E ログ2(e)
M_LOG10E ログ(e)
M_LN2 ログ(2)
M_LN10 ログ(10)

数値形式の確認

PHP 言語には、数値の表現が正しいかどうかをチェックできる小さな関数があります。 PHP では毎日広範な型制御が行われているという事実に関係なく、必要に応じてコードに対してこれらのチェックを実行して、抽出結果の特性を予測し、最短の方法を選択することをお勧めします。準備。

最初の最も単純な検証は、勝利関数に適用されます。 is_numeric()。 他のほとんどのこのような変換と同様に、is_numeric 関数は、パラメータに任意の型 (符号付きまたは符号なし、整数または浮動小数点) の数値データ、または有効な数値を回転する数式を渡すと、ブール値の結果 (true) を回転します。

追加機能については is_int()і is_floatゴール数やショットガンの数を計算できます。 さらに 2 つの反転と 3 つの折りたたみ: 関数 is_finite()і is_infinite()まったく同じ反転がそれらの名前(および末尾または末尾の番号)を示すことを許可します。 ただし、厳密に言えば、これらの関数が展開される値の範囲には、実際の矛盾が含まれることはありません(つまり、どの数が無限に大きな値を持つ可能性があるかが検証できる)。 特定のシステムで許可されている浮動小数点値の範囲から選択する必要があります。

以下は、これらの関数の使用方法の例です。

PHPコード is_numeric(4); // true is_numeric(25 - 6); // true is_numeric("25"); // true is_numeric("25 - 6"); // false is_int(4); // true is_int(4.2); // false is_int("4"); // false - スボリッチの検証が行われ、追加関数の下位検証 is_numeric() is_float(4); // false is_float(4.0); // true is_float(M_PI); // 真実

数値システムの再設計

外部式から数値を直接および逆に変換する目的で、PHP 言語では数値体系 10 の基礎が使用され、さらに、外部式が同じ値であることを PHP インタプリタに伝えることができます。スタンド 8 で指定された最大の数値 (数値ワイヤー 0 の前に入力する必要があります)、または基数 16 で指定された 16 進数 (数値の前にプレフィックス 0x を入力する必要があります) が使用されます。

信じられないことに、外部データの数値を反転した後、内部データは double 形式でメモリに保存され、すべての主要な算術および数学的計算はコンピュータ上のオペレーティング システム自体で実行されます。には、数値を計算システムの基本に先立って変換するための関数が多数あります。 これらのガイダンス機能に関する追加情報を以下の表に示します。

数値システムの再作成機能
関数 説明
BinDec() 倍精度整数 (基数 2 の数値) である単一のシリアル パラメーターを受け取り、記数法 10 に基づいてこの数値のシリアル表現を回転します。
DecBin() BinDec() と似ていますが、記数法を 10 から 2 を基数とする記数法に変換する点が異なります。
10月12月() BinDec() と似ていますが、基数系 8 を基数系 10 に変換する点が異なります。
12月10月() BinDec() と似ていますが、基数系 10 を基数系 8 に変換する点が異なります。
HexDec() BinDec() と似ていますが、基数 16 を基数系 10 に変換する点が異なります。
DecHex() BinDec() と似ていますが、数値体系を 10 から 16 の基数体系に変換する点が異なります。
Base_convert() 行パラメーター (変換を容易にする整数を表す) と 2 つの整数パラメーター (出力およびベース) を受け入れます。 行を回転して番号を再作成します。 この行では、9 より大きい数字 (10 ~ 35) が a ~ z の記号で表されます。 私は休みだ、そして2時から36時の間に責任を押し付ける

数体系を変換するすべての関数は、数値をある特定の基数から別の基数に変換するなど、特別な目的の関数です。 原因は、初期および結果の基底の値から追加のパラメーターを受け入れるbase_convert() 関数です。

数値システムを変換するすべての関数は、行パラメーターを受け入れて文字列値を回転するか、または 10 の数値パラメーターを変換して、PHP インタープリターの正しい変換に依存することができることに注意してください。 言い換えれば、同じ結果を生成するために DecBin("1234") と DecBin(1234) を使用するオプションです。

指数関数と対数関数

PHP 言語には、基数 10 と基数 10 の 2 種類の標準指数関数と対数関数が含まれています (表を参照)。

PHP では、ステップ表示から数値 e を返す exp() 関数と、ステップ表示に数値 10 を返すために使用できる 1 つのパラメータを持つ Daily 関数が転送されました。関数 pow() を 2 つのパラメータで置き換えることができ、最初のパラメータとして 10 を設定します。

次のように結果の同一性をチェックすることで、まさにこの置換を行った指数関数と対数関数が 1 対 1 の戻り値を持つことがわかります。

PHPコード $test_449 = 449.0; $test_449 = pow(10, exp(log(log10($test_449))))); エコー "test_449 = $test_449"; // test_449 = 449

三角関数

当社の PHP 翻訳には、基本的な三角関数の標準セットと、表に示されている内容に関する追加情報が含まれています。

三角関数
関数 説明
パイ() パラメーターを受け入れず、数値 π (3.1415926535898) の値に近づくように回転します。 M_PI 定数と同じ意味で使用できます。
罪() ラジアン単位の数値パラメータを受け入れ、精度を高めた浮動小数点数の形式でパラメータの正弦を回転します。
cos() ラジアン単位の数値パラメータを受け入れ、浮動小数点数の形式でパラメータのコサインを精度を高めて回転します。
タン() ラジアン単位の数値パラメータを受け入れ、パラメータの接線を可変精度の浮動小数点数の形式で回転します。
アシン() 数値パラメータを受け入れ、パラメータの逆正弦をラジアン単位で回転します。 入力データは -1 ~ 1 の範囲内である必要があります (この範囲外の入力データを拒否する機能は NAN を拒否します)。 結果は -π/2 から π/2 の範囲で変化します。
アコス() 数値パラメータを受け入れ、パラメータの逆余弦をラジアン単位で回転します。 入力データは -1 ~ 1 の範囲内である必要があります (この範囲外の入力データを削除する機能は NAN を削除することです。結果は 0 ~ π の範囲内になります)
日焼け() 数値パラメータを受け入れ、パラメータの逆正接をラジアン単位で回転します。 結果は -π/2 から π/2 の範囲で変化します。

以下は、「標準」関数の三角関数を計算するための折り畳まれたテーブルの例です。

PHPコード function display_trigonometry($func_array, $input_array) ( // 関数ヘッダー echo " ";) エコー "// テーブルデータを入力 foreach($input_array as $input) ( echo " "; foreach($func_array as $func) ( echo " ";) エコー "";) エコー "
値/機能$func
".sprintf("%.4f",$input)。""; printf("%4.4f", $func($input)); echo "
"; ) display_trigonometry(array("sin", "cos", "tan"), array(0, M_PI/6, M_PI/3, M_PI/2, M_PI));

PHP での三角関数の使い方のポイント

接線の大きな (または重要ではない) 値であっても削除されるのは、理論的には符号がゼロに等しいという事実によるものですが、実際には四捨五入により分数がゼロから細分化されます。

十分な精度で計算(BC関数を使用)

変数精度の整数型と浮動小数点型は、スキンの保存だけでなく、インターネット用のコンピュータ スクリプトで発生するほとんどの数学的問題に適しています。これらの追加型で表される値はコンピュータのメモリに転送されるため、これらのタイプの数値の表現の寸法と精度には、必然的に制限が課せられます。

信じられないことに、これらの型の値の正確な範囲はサーバー コンピューターのアーキテクチャに依存する可能性があり、整数の値の範囲は -2 31 -1 ~ 2 31 -1 であり、浮動小数点を含む数値は次のようになります。精度が同じで、ほぼ正確な数値を表現できます。10 桁目は 13 ~ 14 桁あります。 一方、より高度なタスクの場合は、PHP 転送でより広範囲のデータとより高い精度が得られます。 適度な精度の数学関数(BC 関数とも呼ばれます。Unix システムの機能に基づいた、かなりの精度を備えた計算ユーティリティの名前です)。

特にユーザーがそのようなコンパイルを独自に実行する場合、十分な精度の関数が PHP インタープリターのコンパイルに含まれていないことが判明する可能性があります。その場合、ユーザーは調整の段階で、この構成では次のことが必要であることを知る責任があります。ウェアハウスパラメータへの署名を有効にするには --enable-bcmath。 割り当てられた関数に誰がアクセスできるかを確認するには、式 badd("1","1") を計算してみてください。 未指定の機能に関係するエラーに関するメッセージが削除された場合は、構成を再構成し、PHP インタープリターを再コンパイルする必要があります。

関数 BC では、ローテーションされるパラメータや値として、固定値が与えられた数値型ではなく、ローテーションされる行が使用されます。 dovzhin 行の PHP 言語のフラグメントは使用可能なメモリの量によって制限され、レイアウトに表示される数値によって dovzhin が発生する可能性があります。 主な計算は数十年後に行われており、人々が羊と紙の助けを借りてどのようにして逃げることができるかについては多くの推測があります(人々はできるだけ早くテルペンを買いだめできるため)。 整数を扱う BC 関数は正確に動作し、必要な桁数を計算できます。また、浮動小数点を持つ数値を扱う関数では、指定された点までの精度で計算が実行されます。数十の放電のみです。 BC の機能に関する追加情報は、以下の表に記載されています。

十分な精度を備えた数学関数(BC関数)
関数 説明
bcad() 数値を表す 2 つの系列パラメータと、スケール乗数値を表す必要な整数パラメータを受け入れます。 行ビューの最初の 2 つのパラメーターの合計を、結果内の 10 位の数で回転します。これは、スケール乗数の値を持つパラメーターによって示されます。 パラメーターはタスクではなくスケール乗数の値に基づいているため、タスクはスケール乗数に置き換えられます。
bcsub() badd() と似ていますが、別のパラメータの結果を最初のパラメータから回転する点が異なります。
bcmui() bcadd() と似ていますが、パラメータを乗算した結果を回転させる点が異なります。
bcdiv() badd() と似ていますが、最初のパラメータの結果を別のパラメータにローテーションする点が異なります。
bcmod() モジュール (余剰) を最初のパラメータのサブセクションから別のサブセクションに回転します。 回転された値のフラグメントは全体の型に変換されます。関数はスケール乗数の値を含むパラメーターを受け入れません。
bcpow() 最初のパラメータをステップに追加して、別のパラメータを示します。 結果の 10 位の数は、タスクと同様にスケール乗数によって示されます。
bcsqrt() パラメータの平方根を 10 分の 1 の位置で回転します。これは、拘束力のないスケール乗数の値に対応します。
bcscale() BC 機能の次のクリック時の倍率を設定します。

これらの関数のほとんどは、残りのパラメーターを拘束力のないスケーリング係数 (整数) として受け取ります。これは、結果に位置の 10 分の 1 が含まれることを意味します。 このようなパラメーターはタスクではないため、スケール乗数を使用してスケール乗数が決定され、そのスケール乗数は bcscale() 関数を使用してインストールできます。 この値に指定された値 (スクリプトが bcscale() 関数の呼び出しを停止しない場合に決定される値) は、php.ini 初期化ファイルでも指定できます。

以下は、算術演算全体を正確に計算するのに十分な精度を備えた vicor 関数の例です。 ヴィコナニー攻撃コード:

PHPコード for ($x = 1; $x< 25; $x++) { echo "$x$x= ".bcpow($x, $x)."
"; }
より正確には、追加関数 BC を使用した天文学的量の計算

PHP 整数型を使用したこれらの計算の場合、整数の再評価は計算が終了するずっと前に行われるため、拡張サイクルの他の部分で、浮動小数点で最も近い数値を取得する方法が考案されました。

Masivi フォームの処理 1 2 3 4 5 6 7 8 9 10

論理演算はすべてのプログラミング言語に存在します。 PHPお咎めなし。 単純な主題に加えて、乗算、加算、および自明性は、完全に数値的で過剰な主題の中に現れます。これについてはこれから説明し、それらを分析し、vikoryst とレポートを作成します。

一体裾とは、パーツ全体を裾として表示することを意味します。 たとえば、5 を 2 で割る場合、2.5 ではなく 2 を引きます。

あまりにも分けすぎると、すべてが違ってしまいます。 全体の数では下に余りがございます。 たとえば、同じ 5 を割る場合、2 ではなく 1 を引くことになります。したがって、5 を 2 で割ると、2 を引き、剰余に 1 を加えます。

PHP でサブフィールド全体を征服する方法

たとえば、Python では、このサブフィールドは単純な演算子「//」を使用して定義されます。

そして、 PHPお金を稼ぐのはそれほど簡単ではありませんが、そのプロセスでは言語についてさらに学ぶことはできません。

それをどのように実装できるか、問題点を指摘しましょう。

U PHP 7 番目のバージョンでは、関数は次のようになります。

Intdiv();

古いバージョンでは、この関数は次のようになります。

同じ方法がすべてのバージョンで機能します。

床();

どのようにアレンジすればよいでしょうか?

たとえば、最初の関数を取り上げて、最終的にほぼ同じになると判断してみましょう。

$result = intdiv(10, 3); $result をエコーし​​ます。

PHPが弱すぎる

床から余分なものをすべて取り除くには、 PHP「%」演算子を追加するだけです。

$i = 10% 3; $i をエコーし​​ます。

バチモと同様、すべてに簡単な説明は必要ありません。

どこで停滞してしまうのでしょうか?

分野全体の知識 PHP 2 つの数字を反転したり、反転した数字 (右に人気) を作成したり、たとえば FizzBu​​zz と呼ばれるプログラムを作成したりする必要がある場合、それらはさらにカラフルになります。 重要なのは、各数値を 3 と 5 で割る 1 から 100 までのサイクルを記述できることです。数値を 3 で割った結果が 0 の場合は Fizz、5 で割った場合は Buzz、そして の場合は、と記述します。 5、3を割った後、余剰から0を引いて、FizzBu​​zzを書き込みます。 これはインターネット上でさらに人気があります。 自分で書いたものなので、自分自身について書くことができます。

または、たとえば、数値 452 を使用して、すべての数値 (4、5、2) を出力することもできます。

ヴィシュノヴォク

めちゃくちゃなことに、シナモンやしわになった果物の全体と余分な部分が頻繁に出てきて、Python ほど簡単ではありませんが、それでも重要です。

今、あなたはビデオプログラムに近づいています。 PHPそして将来、あなたが熱心に困難を乗り越えることで、あなたはさらに仲良くなれるでしょう。

PHP の変更を伴う操作 (演算子)

この目的のために、別のグループを使用します。

演算子とは、1 つ以上の値 (プログラミング用語で viraziv と呼ばれます) で構成されるもので、新しい値として計算できます (したがって、構造全体が viraz と見なすことができます)。 結果は、値を回転させる関数またはその他の構造 (たとえば、 プリント()) - 物理構造を解決する目的で、演算子によって実行されます (たとえば、 エコー())、何も回転しないので。

PHP での算術演算

学校の算数の待ち伏せ攻撃を覚えていますか? 「下位に移動」演算子も同じことを行います。

(「/」) の下の操作は常に音声タイプをローテーションします。これは、値が整数 (または整数に変換された行) であることを意味します。 そうしないと、結果が異なります。

除算の剰余金を計算する操作」 % 整数でのみ機能するため、分数に圧縮すると間違った結果が生じる可能性があります。

Mozhlive vikoristannya アーチ。 一部の数学演算の他の演算に対する優先順位、および算術式のビコリスタン アーチが基本的な数学規則に対応する場合の優先順位の変更。

インクリメントおよびデクリメント演算

PHP は、C と同様に、前置および後置のインクリメントおよびデクリメント演算子をサポートしています。

インクリメントとデクリメントの後置演算子

言語と同様に、これらの演算子は変数の値を増加または変更し、言語では変数の値を回転します。 $a変更前。 例えば:

$a=10;
$b=$a++;
echo "a=$a, b=$b"; // a = 11、b = 10を入力します

おっしゃる通り、新鮮なトウモロコシは $b変更の値を取得しました $a, そして残りが増えていきました。 したがって、その意味は変数に割り当てられていることがわかります $b、より複雑になる可能性があります - いつでも増分します $aこの計算の後はさらに多くなります。

インクリメントとデクリメントの接頭辞演算子

変更名の後には示されていないインクリメント演算子とデクリメント演算子もあります。 明らかに、変更後に変更の値をローテーションします。 お尻:

$a=10;
$b=--$a;
echo "a=$a, b=$b"; // a = 9、b = 9 を出力します。

実際には、インクリメント演算とデクリメント演算が停滞することがよくあります。 たとえば、臭いはほぼどのサイクルでも目立ちます。 のために .

エコー "

後置増分

" ;
$a = 5;
echo "メインブート 5: " 。 $a++。 」
\n" ;

\n" ;

エコー "

プレフィックスの増分

" ;
$a = 5;
echo "メインブート 6: " 。 ++$a。 」
\n" ;
echo "メインブート 6: " 。 $a 。 」
\n" ;

エコー "

後置デクリメント

" ;
$a = 5;
echo "メインブート 5: " 。 $a - 。 」
\n" ;

\n" ;

エコー "

プレフィックスのデクリメント

" ;
$a = 5;
echo "メインブート 4: " 。 - $a。 」
\n" ;
echo "メインブート 4: " 。 $a 。 」
\n" ;
?>

文字列操作

PHP には、行を処理するための 2 つの演算子があります。 1 つ目は連結演算子 (「.」) で、左引数と右引数の組み合わせを回転します。 もう 1 つは連結を伴う代入演算子で、右の引数を左の引数に追加します。 特定のお尻を指摘してみましょう:

$a = "こんにちは";
$b = $a。 "世界!" ; // $b 行「Hello World!」を配置します。

$a = "こんにちは";
$a .= "世界!" ; // $a 行「Hello World!」を配置します。
?>

ビット単位の演算

これらの操作は、変更全体に対する戦闘グループの操作 (インストール/削除/検証) を目的としています。 整数のビットは、2 桁の記数法で書かれた同じ数字の桁にすぎません。 たとえば、double システムでは、数字 12 は 1100 に見え、2 は 10 に見えるので、次のようになります。 12|2 番号 14 (ダブルエントリーの場合は 1110) を入力してください。 変化が全体的でない場合は終了です
最初は丸められますが、その前に下位の演算子で停滞します。

1 つの数値を表すには、32 ビットが使用されます。

  • 0000 0000 0000 0000 0000 0000 0000 0000 – 値ゼロ。
  • 0000 0000 0000 0000 0000 0000 0000 0001 – ce 1;
  • 0000 0000 0000 0000 0000 0000 0000 0010 – tse 2;
  • 0000 0000 0000 0000 0000 0000 0000 0011 – tse 3;
  • 0000 0000 0000 0000 0000 0000 0000 0100 – 東証 4;
  • 0000 0000 0000 0000 0000 0000 0000 0101 – 東 5;
  • 0000 0000 0000 0000 0000 0000 0000 1111 - ce 15;

ビット単位の演算子:

お尻 名前 結果
$a と $b ビット単位の「i」 インストールされるビットは $a と $b の両方だけです。
$a | $b ポビトフ「または」 インストールされるビットは $a または $b です。
$a^$b ヴィクリュクネとか $a のみまたは $b のみがインストールされるため、2 ビットのみがインストールされます
~$a 上場 これらのビットは、$a がインストールされていなくても、同じ方法でインストールされます。
$a<< $b 破壊された左 交換可能な $a のすべてのビットは、左側の $b 位置に配置されます (スキン位置は「2 倍」されます)。
$a >> $b ズブは右利き 交換可能な $a のすべてのビットは、右側の $b 位置に配置されます (スキンの位置は「2 で割られた」と見なすことができます)。

平準化操作

等化演算子を使用すると、その名前が示すように、2 つの値を等しくすることができます。

これらは独自の固有の演算であるため、引数のタイプに関係なく、常に次の 2 つのいずれかになります。 間違いそれとも 真実。 イコライゼーション操作を使用すると、2 つの値を相互にイコライズし、脳のように回転させることができます。 真実、そして、方法はありません - 間違い.

PHP ではスカラー変数を追加できます。 PHP ではオブジェクトの配列を回転することはできません。 PHP でそのような操作が優先順位なしで実行されない限り、(== 演算子の助けを借りて) これらを等化することはできません。 したがって、まったく異なる 2 つの山塊が等しいにもかかわらず、助けが必要であることに私たちは驚いています。 == 夢中になっているように見えますが、攻撃を交換する前にオペランドが単語に変換されるとどうなるか推測してください 配列、できるだけ早く平等に。

山塊のアップグレードに関する詳細に驚嘆してください。

オペレーター:

お尻 名前 結果
$a == $b リヴノ 真実$a は $b に関連しているためです。
$a === $b その通り 真実$a は $b に関連しており、同じ型であるためです。 (PHP4で追加)
$a != $b 比べられない 真実$a は $b に関連していないためです。
$a<>$b 比べられない 真実$a は $b に関連していないためです。
$a !== $b 同じものではない 真実$a は $b と同じではない、または異なる種類の匂いがするため (PHP 4 で追加)
$a< $b メンシェ 真実$a が厳密に $b より小さい場合。
$a > $b もっと 真実$a が厳密に $b より大きい場合。
$a<= $b 多かれ少なかれ古代のもの 真実$a の重要性は $b よりも低いか高いためです。
$a >= $b 多かれ少なかれ古代のもの 真実$a は $b よりも大きいか高価であるためです。

論理演算

論理演算子は、論理引数の処理と回転にも包括的に使用されます。 間違いそれとも 真実.

PHP 論理演算子のテーブルを作成しましょう。

論理式の計算に注意することが重要です。そのため、このような演算子は常に右に移動し、結果はすでに明らかです (たとえば、 false(&I)いつも与える 間違い) の場合、あたかもウイルスに機能があるかのように、計算が打ち切られます。 たとえば、演算子 $logic = 0&&(time()>100); では、 標準機能 時間()全く呼ばれなくなります。

論理演算には注意してください。シンボルを獲得することを忘れないでください。 敬意を取り戻すには、たとえば、 | і || - 2 つの完全に異なる演算子。一方は潜在的に任意の数値を回転でき、もう一方は回転のみ可能 間違いі 真実.

インクリメント (++) 演算子とデクリメント (--) 演算子は、論理変更では機能しません。

等価演算子

PHP4 以降の PHP には、同じ等化演算子 (三重の等号記号) があります。 === ,
または反転演算子をオンにします。 PHP は、行が暗黙的に数値に変換されるような設定を許容します。
たとえば、攻撃的なコードは、変更の意味がより重要になることを示しています。

$a=10;
$b = "10";

そして彼らは意地悪な人たちのことを気にしません $aє番号、および $b- 行。 次に、別のお尻を見てみましょう。

$a=0; // ヌル
$b=""; // 空ステッチ
if($a==$b) echo "a および b 領域"; // 「a 領域と b 領域」を出力します。

欲しい $aі $b明らかに、彼らはこの言葉の最も一般的な意味を伝えることに熱心ではなく、脚本は悪臭を避けていると宣言しています。 なぜそんなに興奮しているのですか? 右側は、論理演算子のオペランドの 1 つを数値として扱うことができる一方で、2 つのオペランドを数値として扱うことができることを示しています。 この場合、空の行は次のように変換されます。 0 これはゼロに等しくなります。 オペレーターがそうなるのも不思議ではない エコー聞く。
問題は等価演算子によって支配されています === (三重の嫉妬)。 これは、2 つの定義またはその型と同じであるだけです。 このオペレーターの Web サイトからの例を書き直してみましょう。

PHP では、基本的な数学演算がすべて利用可能です。 オペランドをターゲットとして使用できるので、数値を読み上げることもできます。

テーブルには算術演算子のリストが含まれています:
オペレーターサイン説明
ドーダヴァンニャ + 2 つの値を加算する
ヴィドニマニャ - ある意味を別の意味から取る
乗算 * 2 つの値を乗算する
ポディル / ある値を別の値に分割する
下の余分な部分を切り落とします % ある値を別の値に除算し、その逆の剰余 (モジュラスで除算)
インクリメント ++ 数値を 1 つ短縮する
デクリメント -- 数字を1つずつ変えるショートカット記録
ウナルネ・ザペレチェルニャ - 正の数を負の数に変換する、または負の数を正の数に変換する

演算子 細分、乗算、サブセクション、モジュールによるサブセクション、および加算

演算子である同時、乗算、除算、剰余、加算を数学と同じように説明します。 ここでは、モジュロ演算子とサブモジュロ演算子の両方の演算子を尊重することが重要です。

副演算子 (「/」) は、整数を含む行 (または整数に変換される行) を除き、浮動小数点を使用して数値を回転します。これらの行は整数に分割され、その行では値全体が回転されます。

結果2 = $結果2
"; エコー "result3 = $result3
結果4 = $結果4"; ?>

モジュロで除算する場合、オペランドは演算の先頭で (小数部分が削除された) 整数に変換されます。 演算の結果は除算と同じになります。

ウナルネ・ザペレチェルニャ

単項列挙演算子は「-」記号で示され、列挙型の単一オペランドの値を変更します。

この場合、単項ロックの優先順位が最も高いためラウンド アームは必要ありませんが、数値 -5 と 4 を追加する場所があることが明確になるようにコードを整理するのに役立ちます。

インクリメント

インクリメント演算子は記号 ++ で示され、演算対象のオペランドのどちらの側でも展開できます。 値に 1 を加えるのと同じように、値は 1 ずつ増加します。 実際の結果は、演算子が停滞したオペランドの前か後に停滞したかによって異なります。 この演算子は変更の代わりに使用されることが多く、ループの途中で使用されることがよくあります (ループについては後で説明します)。

インクリメントの接頭語形式

接頭語形式- インクリメント演算子がオペランドの前にインクリメントされる場合、この形式の表記は、インクリメントが最初にインクリメントされることを意味します。つまり、オペランドの値が 1 ずつ増加してから、命令がインクリメントされます。

インクリメントの後置形式

後置形式何度か書き方が異なります。増分はオペランドの後に毎回展開されます。 後置形式では、最初の変数オペランドを記述すると、最後の値が 1 増えるまで 2 番目の値が回転します。

デクリメント

デクリメント演算子は記号 - で示され、インクリメント演算子を置き換えると、オペランドの値が 1 ずつ変更され、場合によっては増加しないこともあります。 デクリメントでは、前置記法と後置記法も使用できます。

論理演算はすべてのプログラミング言語に存在し、PHP のせいではありません。 単純な主題に加えて、乗算、加算、および自明性は、完全に数値的で過剰な主題の中に現れます。これについてはこれから説明し、それらを分析し、vikoryst とレポートを作成します。

一体裾とは、パーツ全体を裾として表示することを意味します。 たとえば、5 を 2 で割る場合、2.5 ではなく 2 を引きます。

あまりにも分けすぎると、すべてが違ってしまいます。 全体の数では下に余りがございます。 たとえば、同じ 5 を割る場合、2 ではなく 1 を引くことになります。したがって、5 を 2 で割ると、2 を引き、剰余に 1 を加えます。

PHP でサブフィールド全体を征服する方法

たとえば、Python では、このサブフィールドは単純な演算子「//」を使用して定義されます。

しかし、PHP ではお金を稼ぐのはそれほど簡単ではありませんが、それでも言語知識をサポートするプロセスではありません。

それをどのように実装できるか、問題点を指摘しましょう。

このバージョンの PHP では、関数は次のようになります。

古いバージョンでは、この関数は次のようになります。

同じ方法がすべてのバージョンで機能します。

どのようにアレンジすればよいでしょうか?

たとえば、最初の関数を取り上げて、最終的にほぼ同じになると判断してみましょう。

$result = intdiv(10, 3); $result をエコーし​​ます。

PHPが弱すぎる

PHP で余剰全体をサブフィールドとして表示するには、「%」演算子を追加するだけです。

$i = 10% 3; $i をエコーし​​ます。

バチモと同様、すべてに簡単な説明は必要ありません。

どこで停滞してしまうのでしょうか?

PHP のサブフィールド全体を知っていると、2 つの数値を反転したり、数値反転 (よく知られている) を作成したり、たとえば FizzBu​​zz というプログラムを作成したりする必要がある場合に非常に役立ちます。 重要なのは、指定された数値を 3 と 5 で割る 1 から 100 までのサイクルを記述できることです。数値を 3 で割って 0 の余りが得られる場合は Fizz、5 で割る場合は Buzz と記述します。 、そしてもし 、 5 、 3 を割って、余剰から 0 を引くと、FizzBu​​zz を書きます。 これはインターネット上でさらに人気があります。 自分で書いたものなので、自分自身について書くことができます。

または、たとえば、数値 452 を使用して、すべての数値 (4、5、2) を出力することもできます。

ヴィシュノヴォク

めちゃくちゃなことに、シナモンやしわになった果物の全体と余分な部分が頻繁に出てきて、Python ほど簡単ではありませんが、それでも重要です。

これで、あなたは PHP プログラミングの学習に一歩近づきました。将来、困難を乗り越えようと懸命に努力することで、さらに近づくことになるでしょう。

© 2024 androidas.ru - Android のすべて