PHP完全独学マニュアルlogin
PHP完全独学マニュアル
著者:php.cn  更新時間:2022-04-15 13:53:54

PHP オペレーター




この章では、PHP におけるさまざまな演算子の適用について説明します。

PHP では、変数に値を代入するために代入演算子 = が使用されます。

PHP では、値を加算するために算術演算子 + が使用されます。


PHP オペレーターとは何ですか?

PHP 演算子には、算術演算子、代入演算子、インクリメントおよびデクリメント演算子、比較演算子、論理演算子、配列演算子、三項演算子、および結合比較演算子が含まれます。


PHP算術演算子

4 の合計210x / yxとyの商を割る15 / 53x % ymodulo (除算) x 除算y 剰余 5 % 210 % 210- 連結
演算子名前説明インスタンス結果
x + yAdd x と y 2 + 2
10 % 8
2a . b
2つの文字列を連結します 「こんにちは」「はぁ」 ハイハ

次の例は、さまざまな算術演算子を使用して得られるさまざまな結果を示しています:

<?php 
$x=10; 
$y=6;
echo ($x + $y); // 输出16
echo "<br>";
echo ($x - $y); // 输出4
echo "<br>";
echo ($x * $y); // 输出60
echo "<br>";
echo ($x / $y); // 输出1.6666666666667
echo "<br>"; 
echo ($x % $y); // 输出4 
?>

例の実行»

オンライン例を表示するには、「例の実行」ボタンをクリックしてください

PHP7+ バージョンには新しい整数除算があります演算子 intdiv()、使用例:

<?php
var_dump(intdiv(10, 3));
?>

上記の例は出力します:

int(3)

PHP 代入演算子

PHP では、基本的な代入演算子は「=」です。これは、左側のオペランドが右側の式の値に設定されることを意味します。つまり、「$x = 5」の値は 5 です。

x / = yx %= ya .= b次の例は、さまざまな代入演算子を使用して得られるさまざまな結果を示しています:
演算子 と同等です 説明
x = yx = y 左側のオペランドは、右側の式
x += y の値に設定されます x = x + y プラス
x -= yx = x - y マイナス
x *= yx = x * y
x = x / y除算
x = x % ymodulo (除算の余り)
a = a . b 2 つの文字列を連結します

<?php 
$x=10; 
echo $x; // 输出10
echo "<br>";
$y=20; 
$y += 100;
echo $y; // 输出120
echo "<br>";
$z=50;
$z -= 25;
echo $z; // 输出25
echo "<br>";
$i=5;
$i *= 6;
echo $i; // 输出30
echo "<br>";
$j=10;
$j /= 5;
echo $j; // 输出2
echo "<br>";
$k=15;
$k %= 4;
echo $k; // 输出3
?>

インスタンスの実行»
オンライン例

次の例は、さまざまな文字列演算子を使用して得られるさまざまな結果を示しています:

Example

<?php
$a = "Hello";
$b = $a . " world!";
echo $b; // 输出Hello world! 
echo "<br>";
$x="Hello";
$x .= " world!";
echo $x; // 输出Hello world! 
?>

例の実行»
オンライン例を表示するには、[例の実行] ボタンをクリックしてください

PHPインクリメント/デクリメント演算子

演算子++ xを返し、xに1を加えます--xpre-decrementx 1、その後、戻ります

次の例は、インクリメント/デクリメント演算子を使用して得られた結果を示しています:

<?php
$x=10; 
echo ++$x; // 输出11
echo "<br>";
$y=10; 
echo $y++; // 输出10
echo "<br>";
$z=5;
echo --$z; // 输出4
echo "<br>";
$i=5;
echo $i--; // 输出5
?>

サンプルの実行»

オンラインサンプルを表示するには、[サンプルの実行]ボタンをクリックしてください


PHP比較演算子

比較演算子を使用すると、2 つの値を比較できます:

名前説明
と等しい場合に true を返しますは、以上です以下
OperatorNameDescriptionInstance
x == yEquals x が y5 ==8 falseを返します
x === yは常に等しいxがyに等しく、それらが同じ型である場合、trueを返します5==="5"を返します
x ! = yに等しくない場合、true5!=8を返す
x <> yに等しくないx が y に等しくない場合、true を返します 5<>8 true を返します
x !== y に等しくありません x が y に等しくない場合、またはそれらが同じでない場合type、return true5!=="5" return true
x > 5<8 return truex >= y
If x y 以上の場合、true を返す5>=8 return falsex <= y
x が y 以下の場合、true を返す5< ;=8 true を返します

次の例は、いくつかの比較演算子を使用したさまざまな結果を示しています:

<?php
$x=100; 
$y="100";

var_dump($x == $y);
echo "<br>";
var_dump($x === $y);
echo "<br>";
var_dump($x != $y);
echo "<br>";
var_dump($x !== $y);
echo "<br>";

$a=50;
$b=90;

var_dump($a > $b);
echo "<br>";
var_dump($a < $b);
?>

例の実行»

オンライン例を表示するには、[例の実行] ボタンをクリックしてください


PHP 論理演算子

x=6y=3x || y または x=6y=3(x ==5 || y== 5) false を返します! 配列演算子名前Equal
演算子名前説明インスタンス
xとy with xとyが両方ともtrueの場合、trueを返しますx=6
y=3
(x < 10 and y > 1) trueを返す
x or yorxとyの少なくとも1つがtrueの場合、trueを返すx=6
y=3
(x==6 or y== 5) trueを返します
x xor y==3) falseを返しますx && y

xとyが両方ともtrueの場合、trueを返します
( x < 10 && y > 1) true
x と y の少なくとも 1 つが true の場合、true


演算子
説明xとyのセット

x == y
xとyが同じキー/値ペアを持つ場合、trueを返します

x === yidentityxとyが同じキー/値を持つ場合ペアであり、順序が同じで型が同じ場合、 true を返しますx != y等しくない x が y と等しくない場合、 true を返しますx <> ; y等しくない x が y と等しくない場合、true を返すx !== y等しくない x が y と等しくない場合、true を返す

次の例は、いくつかの配列演算子を使用して得られるさまざまな結果を示しています:

<?php
$x = array("a" => "red", "b" => "green"); 
$y = array("c" => "blue", "d" => "yellow"); 
$z = $x + $y; // $x 和 $y 数组合并
var_dump($z);
echo "<br>";
var_dump($x == $y);
echo "<br>";
var_dump($x === $y);
echo "<br>";
var_dump($x != $y);
echo "<br>";
var_dump($x <> $y);
echo "<br>";
var_dump($x !== $y);
?>

例の実行»

オンライン例を表示するには、[例の実行] ボタンをクリックしてください


三項演算子

別の例条件演算子の 1 つは、「?:」 (または 3 項) 演算子です。

構文形式

(expr1) ? (expr2) : (expr3)

expr1 が TRUE と評価される場合、値は expr2 になり、expr1 が FALSE と評価される場合、値は expr3 になります。

PHP 5.3以降、三項演算子の中間部分を省略できるようになりました。式 expr1 ?: expr3 は、expr1 が TRUE と評価される場合は expr1 を返し、それ以外の場合は expr3 を返します。

次の例では、$_GET リクエストにユーザー値が含まれていると判断され、含まれている場合は $_GET['user'] が返され、それ以外の場合は何も返されません:

<?php
$ test = 'php中国語ウェブサイト';
//通常の書き方
$username = isset($test) ? $test : 'nobody';
echo $username, PHP_EOL;

// PHP 5.3+バージョンの書き方
$ username = $test ?: 'nobody';
echo $username, PHP_EOL;
?>

php中文网
php中文网

注: PHP_EOL は改行文字であり、より大きなプラットフォームと互換性があります。

PHP7+ バージョンには追加の NULL 結合演算子があります。例は次のとおりです:

<?php
// $_GET['user'] が存在しない場合は 'nobody' を返し、存在しない場合はそれを返します。 $_GET['user'] の値
$username = $_GET['user'] ?? 'nobody';
// 同様の三項演算子
$username = isset($_GET['user']) ? _GET['user'] : 'nobody';
?>

結合比較演算子 (PHP7+)

PHP7+ は結合比較演算子をサポートしています。例は次のとおりです:

<?php
// Integer
echo 1 <=> 1; // 0
echo 2 <=> // 浮動小数点型
echo 1.5 ;=> 1.5; // 0
echo 1.5 <=> 1.5; // 1

; ; "a"; // 0
echo "a" <=> "b" // 1

;