数学の処理と数理演算の処理
このトピック ほとんどすべてのアプリケーションでいくつかのコンピューティング操作があるため、重要です。 番号の操作を下表に示します。
PHPの算術演算
私はこれらの事業者がいくつかの大きな説明を必要としないと思います。 私はそれらのそれぞれを使う例を引用します:
\\ $ num2 \u003d "。$ num2; //合計の例: エコー "
\\ $ num1 + \\ $ num2 \u003d "($ num1 + $ num2); //実行例: エコー "
\\ $ num1 - \\ num2 \u003d "($ num1 - $ num2); //乗算の例: エコー "
\\ $ num1 * \\ $ num2 \u003d "。$ num1 * $ num2; //分割例: エコー "
\\ $ num1:\\ $ num2 \u003d "。$ num1 / $ num2; //部門からの残高の例: エコー "
\\ $ num1%\\ $ num2 \u003d "。$ num1%$ num2; //プレフィックス形式の増分例: エコー "
++ \\ $ num1 \u003d "。++ $ num1; // $ num1 \u003d 11 $ num1 \u003d 10; //充当した最初の意味 //プレフィックス形式のポストの増分の例: エコー "
\\ NUM1 ++ \u003d "。$ NUM1 ++; //さて$ NUM1 \u003d 11 $ NUM1 \u003d 10; //元の意味を割り当てます //プレフィックス形式の減少の例: エコー "
- \\ $ num1 \u003d "。 - $ num1; $ num1 \u003d 10; // Postrefix Decrementをサンプリング: エコー "
\\ $ num1-- \u003d "。$ num1 - ?\u003e
上記の実行の結果はコード:
$ num1 \u003d 10.
$ num2 \u003d 7
$ NUM1 + $ NUM2 \u003d 17.
$ num1 - $ num2 \u003d 3.
$ NUM1 * $ NUM2 \u003d 70
$ NUM1:$ NUM2 \u003d 1.42857142857
$ num1%$ num2 \u003d 3.
++ $ NUM1 \u003d 11
$ NUM1 ++ \u003d 10
- $ num1 \u003d 9.
$ NUM1-- \u003d 10
プレフィックスとPOSTREFIXフォームの違い:
- プレフィックス形式で (変数の前の++)、最初に1つの増加が発生し、その結果が出力されます。
- postrefix用紙で (変数の後に立っている)最初に結果を表示してから増加しています
違いを理解しているように、私は多くのプログラミング教科書で与えられている古典的な例を与えます。
//変数を割り当てます。 $ num1 \u003d 10; $ num2 \u003d 7; $ REZ \u003d ++ $ NUM1 + $ NUM2; //結果は18になります エコー "
\\ $ rez \u003d "$ rez; // $ NUM1の初期意味を割り当てます。 $ num1 \u003d 10; $ rez \u003d $ num1 ++ + $ num2; //結果は17になります エコー "
\\ $ rez \u003d "$ rez; // Operation ++と - 行にも適用できます $ str \u003d "abc"; エコー "
++ $ str。 //結果は "ABD"の行になります ?>
変数を追加するときは、2種類のレコードを使用できます。
- $ NUM1 \u003d $ NUM1 + $ NUM2 - 通常のエントリ;
- $ NUM1 + \u003d $ NUM2 - 省略形エントリ。 これらの操作の結果は同じです。 省略されたエントリは、減算と乗数でも適用できます。
PHPの比較演算子
比較演算子は、IF条件などの検査に使用されます。 ただし、このレッスンでは、条件付き事業者を検討し、比較演算子のみを検討します。 すべての比較演算子を以下の表に示します。
ここで複雑なものは何もありません、その原則は数学と同じです。 唯一の機能は、true(真実)が1であり、falseは0です.PHPの詳細な例を教えてください。
//変数を割り当てます。 $ num1 \u003d 10; $ num2 \u003d 7; エコー "\\ $ num1\u003e \\ $ num2 \u003d"。 ($ num1\u003e $ num2); //受信1(10\u003e 7 - 右) エコー "\\ $ num1 //受信0(10 //書くことができます: エコー "
10 // 0エコー」
20 // 0エコー "
1 \u003d\u003d 1 \u003d "(1 \u003d\u003d 1); // 1エコー"
0 \u003d\u003d \\ "\\" \u003d "(0 \u003d\u003d" "); // 1エコー"
0 \u003d\u003d\u003d 0 \u003d "(0 \u003d\u003d\u003d 0); // 1エコー"
0 \u003d\u003d\u003d \\ "\\" \u003d "(0 \u003d\u003d\u003d" "); // 0エコー"
true \u003d "。true; // 1エコー"
false \u003d "。false; // 0?\u003e
注意:
- falseの場合、0は表示されません
- 等価演算子は、正確な一致がある場合にのみ1を返します。 たとえば、0 \u003d\u003d "" TRUE、0 \u003d\u003d\u003d "が正確な一致がないため、もはや真実ではありません。
PHP変数の操作(演算子)
実装のためにはさまざまなグループがあります。
オペレータは、新しい値として計算することができる1つ以上の値(プログラミングJargonで話す場合は式)からなるものと呼ばれます(したがって、デザイン全体は式と見なすことができます)。 その関数やその値を返す他の設計に従う(たとえば、 印刷()他のすべての言語構造とは対照的に、演算子です(たとえば、 エコー ())誰が何も返却しないでください。
PHPの算術演算
算術学校の基盤を覚えていますか? 以下の演算子は同じように機能します。
両方の値が整数(または整数に変換されている文字列)であっても、分割操作( "/")は常に実際のタイプを返します。 そうでなければ、結果は分数になります。
除算からの残高の計算操作 % 「それは整数でのみ機能します。そのため、その割合への使用は望ましくない結果につながる可能性があります。
ブラケットを使用することが可能です。 算術式のブラケットを使用する場合の他の数学的演算の優先順位は、通常の数学的規則に対応しています。
増分業務の増減
Cと同様のPHP、PREFIXとPOSTFIXの増加および減分演算子を維持します。
Postfixインクリメントおよびデクリメント演算子
C言語と同様に、これらの演算子は変数の値を増減し、式では変数の値を返します。 $ A. 変更前に 例えば:
$ A \u003d 10;
$ b \u003d $ A ++;
エコー "A \u003d $ A、B \u003d $ B"。 // A \u003d 11、B \u003d 10を表示します
あなたが見ることができるように、最初の変数 $ B. 変数の値が割り当てられました $ A.そして後者は増分されました。 ただし、値が変数に割り当てられている式 $ B.たぶん難しい - いずれにせよ、増加します $ A. それはその計算後にのみ起こります。
プレフィックスインクリメントとデクリメントオペレータ
変数名の後ではなく、指定された増減演算子も増減します。 したがって、変更後の変数の値を返します。 例:
$ A \u003d 10;
$ b \u003d - $ a;
エコー "A \u003d $ A、B \u003d $ B"。 // A \u003d 9、B \u003d 9を表示します
実際の増分と減分の操作は非常に頻繁に使用されています。 たとえば、ほとんどすべてのサイクルで見つかります にとって .
エコー。 "POSTFIXインクリメント
"
;
$ a \u003d 5;
エコー「5:」はあります。 $ A ++ ""
\\ n ";
\\ n ";
エコー。 "プレフィックスの増分
"
;
$ a \u003d 5;
エコー "は6:"です。 ++ $ a。 ""
\\ n ";
エコー "は6:"です。 $ a。 ""
\\ n ";
エコー。 "Postfix Decrement
"
;
$ a \u003d 5;
エコー「5:」はあります。 $ a - 。 ""
\\ n ";
\\ n ";
エコー。 "プレフィックスデクリメント
"
;
$ a \u003d 5;
エコー「4:」はあります。 - $ a。 ""
\\ n ";
エコー「4:」はあります。 $ a。 ""
\\ n ";
?>
文字列操作
PHPでは、行を処理するための2つの演算子があります。 1つ目は、左右の引数の連合を返す連結演算子( "。")です。 2つ目は、連結付きの収用演算子で、左側の右の引数を結合します。 具体的な例を与えましょう。
$ a \u003d "hello";
$ b \u003d $ a。 "世界!" ; // $ Bには、文字列 "Hello World!"が含まれています。
$ a \u003d "hello";
$ a。\u003d "世界!" ; // $ aには、文字列 "Hello World!"が含まれています。
?>
瓶詰め業務
これらの操作は、変数全体のビット(インストール/削除/チェック)ビットを作動させるように設計されています。 整数のビット - 2進数システムに記録されている同じ数の個々の放電には何もありません。 たとえば、バイナリシステムでは、番号12は1100、および2 - 10のようになります。 12|2
米国番号14(バイナリ録画の1110)を返します。 変数が全体ではない場合は、
ちゃんは丸みを帯びていて、次に下記の演算子がそれに適用されます。
1つの数字を表すには、32ビットが使用されます。
- 0000 0000 0000 0000 0000 0000 0000がゼロです。
- 0000 0000 0000 0000 0000 0000 00000 0001は1です。
- 0000 0000 0000 0000 0000 0000 0000 0000 0000
- 0000 0000 0000 0000 0000 0000 0011は3です。
- 0000 0000 0000 0000 0000 0000 0000 0100 - これは4です。
- 0000 0000 0000 0000 0000 0000 0000 0000 0000 000000 000 000 0000 0101
- 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
ボトル入り術者:
例 | 名前 | 結果 |
---|---|---|
$ A&$ B. | ビットごとに | $ aと$ bにインストールされているビットのみがインストールされています。 |
$ A | $ B. | ビット単位 "または" | $ aまたは$ bでインストールされているビットをインストールしました。 |
$ A ^ $ B. | 除外する | $ Aのみインストールされているビットのみがインストールされているか、または$ Bだけ |
〜$ A. | 否定 | $ aにインストールされていないビットがあります。 |
$ A.<< $b | 左シフト | すべての変数BITS $ Bの左への$ B位置へのシフト(各位置は「2」の倍率を意味します) |
$ a\u003e $ B. | 右にシフトします | すべての変数BITS $ Bの位置へのシフト右側への位置(各位置は「2」の部門を意味します) |
比較の操作
その名前から分かるように、比較演算子を使用すると、2つの値を互いに比較できます。
これは一種の一種の一種の操作です。引数の種類に関係なく、常に2つのうちの1つを返します。 false または 真実です。。 比較操作を使用すると、自分の間の2つの値を比較し、条件が実行された場合は返される。 真実です。そうでなければ - false.
PHPはスカラー変数のみを比較できます。 PHPの配列とオブジェクトを比較することはできません。 それらは(演算子\u003d\u003dを使用して)平等と比較することさえできますが、そのような操作を実行するとき、PHPは警告を発行しません。 それで、一度驚くべきこと、なぜそれらを比較するときには2つの完全に異なる配列 == それは突然同じです、両方のオペランドを比較する前に単語に変換されることを忘れないでください アレイ。 それから比較されます。
配列の比較の詳細については、「」を参照してください。
比較演算子:
例 | 名前 | 結果 |
---|---|---|
$ a \u003d\u003d $ B. | 同様に | 真実です。 $ aが$ bの場合 |
$ A \u003d\u003d\u003d $ B. | 同じように等しい | 真実です。 $ aが$ Bで、同じ型を持っている場合。 (PHP 4に追加) |
$ a!\u003d $ B. | 等しくない | 真実です。 $ aが$ bでない場合 |
$ A.<> $ B. | 等しくない | 真実です。 $ aが$ bでない場合 |
$ a!\u003d\u003d $ B. | 同じように等しくない | 真実です。 $ Aが$ Bでない場合、または異なるタイプの場合(PHP 4) |
$ A.< $b | もっと少なく | 真実です。 $ aが厳密に$ b未満の場合 |
$ a\u003e $ B. | もっと | 真実です。 $ aが厳密にもっと多くの場合b。 |
$ A.<= $b | かっこいいまたは等しい | 真実です。 $ aが$ b以下の場合 |
$ a\u003e \u003d $ B. | 多いか等しい | 真実です。 $ aが$ b以上の場合 |
論理演算
論理演算子は論理式を扱うための排他的に意図されています false または 真実です。.
論理PHP演算子のテーブルを渡します。
そのような演算子を含む論理式の計算は、常に左から右へ、そして結果がすでに明らかである場合(例えば、 false &&何か 常に与えます false式の関数呼び出しがあっても、計算は切断されます。 たとえば、演算子$ logic \u003d 0 &&(time()\u003e 100)。 標準機能 time() 決して引き起こされません。
論理演算に注意してください - シンボルを2倍にするのを忘れないでください。 たとえば、 | そして || - 2つの完全に異なる演算子、そのうちの1つは潜在的に任意の数字を返し、2番目の唯一の唯一の false そして 真実です。.
増分演算子(++)とDECREMENT( - )は論理変数では機能しません。
等価演算子
PHP、PHP4から始めて同一の比較演算子があります - 平等の三重記号 ===
,
または検証演算子の。 PHPは非常に寛容で、行が暗黙的に数に変換され、その逆も同様であるという事実を指します。
たとえば、変数の値が等しいことを次のコードが出力されます。
$ A \u003d 10;
$ b \u003d "10";
そしてこれは変数の事実にもかかわらずです $ A. ASを表します $ B. - ストリング。 Heraseはわずかに異なる例を考えます:
$ a \u003d 0; // ゼロ
$ b \u003d ""; //空の行
($ a \u003d\u003d $ b)エコー "AとBが等しい場合。 // "aとbは等しいです
しかし $ A. そして $ B. この言葉の通常の理解でも等しく等しくないので、スクリプトはそれらが一致すると宣言します。 なんでこんなことが起こっているの? 事実は、論理演算子のオペランドの1つを数値として解釈できる場合、両方のオペランドは数値として扱われます。 この場合、空の行はに変わります 0
それはそれからゼロと比較されます。 オペレーターが不思議に思っていません エコー。 トリガー。
問題は等価演算子を解く ===
(トリプル平等)。 2つの式だけでなく、それらの種類も比較するだけでなく。 この演算子を使って例を書き換えます。
論理操作はすべてのプログラミング言語に存在します PHP。 例外ではありません。 単純な分割、乗算、加算または減算に加えて、まだ整数と残余区分があります。
整数部門は、部門全体の全体の撤退です。 たとえば、2を分割すると2が2.5ではありません。
残余区分では、すべてが異なります。 これは整数による除算からの残留物の結論です。 たとえば、同じトップ5を共有すると、2、1を除いて2、1が2、2、1が残りに残ります。
PHPの整数部門を実行する方法
たとえば、Pythonでは、この除算は単純なオペレーター: "//"で発生します。
a b。 PHP。 これを行うのはとても簡単ではありませんが、それでもプロセスは言語を必要としません。
例をどのように実装することができるかを例にしましょう。
に PHP。 7番目のバージョンの機能は次のとおりです。
intdiv();
古いバージョンでは、同じ機能が次のようになります。
すべてのバージョンのための方法もあります。
床();
手配方法?
たとえば、最初の機能を取りますが、その他すべてがほぼ実行されます。
$ resutt \u003d intdiv(10,3); エコー$の結果
PHPの残留分割
整数のバランスを分割するのをもたらすために 博士 オペレーター「%」を入れるだけで十分です。
$ i \u003d 10%3; エコー$ I;
私たちが見るように、すべてがとても簡単で、長期的な説明を必要としません。
どこで使えますか?
インテグル部門の知識 PHP。 2つの数字を比較する必要がある場合は非常に便利になり、数字横(人気の運動)、たとえばFizzbuzzと呼ばれるプログラムなどがあります。 その本質は、1から5までのサイクルを3と5で分割する必要があるということです。そして、5、3、3、3、残りの場合は0が得られます、それからfizzbuzzを書きます。 これは面接のための非常に人気のあるタスクです。 あなたがそれを完成させたならば、あなたはそれを誇りに思うことができます。
例えば、例えば、その452のうちの数字(4,5,2)のすべてを提供する必要があります。
結論
もちろん、整数と残余区分は有用であり、かなり頻繁に見つかることが判明していますが、Pythonのようにそれらを使用するのはそれほど便利ではありませんが、それでも重要です。
今、あなたはプログラミング言語を学ぶのに近いステップです 博士 そして将来的には困難を克服するのでも緊密になるでしょう。