ホームページ  >  記事  >  バックエンド開発  >  phpの式とは何ですか?

phpの式とは何ですか?

怪我咯
怪我咯オリジナル
2017-06-20 10:40:532150ブラウズ

は PHP の最も重要な基礎です。 PHP では、作成するほぼすべてが式です。式を定義する簡単ですが最も正確な方法は、「値を持つもの」です。

最も基本的な式形式は、定数と変数です。 「$a = 5」と入力すると、値「5」が変数 $a に割り当てられます。 「5」は当然、値 5 を持ちます。つまり、「5」は値 5 を持つ式です (ここで、「5」は整数定数です)。

代入後は、$a の値が 5 であることが期待されるため、$b = $a と書くと、$b = 5 と同じになることが期待されます。つまり、$a は 5 と評価される式でもあります。すべてが正しく機能すれば、まさにこれが起こることになります。

もう少し複雑な式の例は関数です。たとえば、次の関数について考えてみましょう:

<?php
function  foo  ()
{
    return  5 ;
}
?>

関数の概念にすでに精通していると仮定すると (そうでない場合は、関数に関する章を参照してください)、$c = foo() と入力することは、$ を記述することと本質的に同じです。 c = 5。これは正しいです。関数も式であり、式の値はその戻り値です。 foo() は 5 を返すため、式「foo()」も 5 と評価されます。多くの場合、関数は静的な値を返すだけでなく、何かを計算する場合があります。

もちろん、PHP の値は整数ではないことがよくあります。 PHP は、整数値 (integer)、浮動小数点値 (float)、stringvalue (string)、およびブール値の 4 種類のスカラー値をサポートしています (スカラー値は配列などの小さな単位に分割できません)。 PHP は、配列とオブジェクトという 2 つの複合タイプもサポートします。どちらの型も変数に代入したり、関数から返すことができます。

PHP は他の言語と同様に式パスに沿って開発されますが、さらにその先を進みます。 PHP は、ほとんどすべてが式であるという意味で、式指向の言語です。先ほど検討した例「$a = 5」について考えてみましょう。明らかに、ここには 2 つの値が関係しています。それは、整定数 5 の値と、同じく 5 に更新される変数 $a の値です。しかし実際には、付加価値、つまり付加価値ステートメント自体の価値が関係しています。代入ステートメント自体は、割り当てられた値 (5) に評価されます。これは事実上、「$a = 5」は、その内容に関係なく、5 と評価される式であることを意味します。したがって、「 $b = ( $a = 5)」と書くことは、「 $a =5; $b =5」と書くことと同じです (セミコロンはステートメントの終わりを示します)。代入演算の順序は右から左なので、「$b = $a =5」と書くこともできます。

もう 1 つの式指向の良い例は、前後のインクリメントとデクリメントです。 PHP およびその他のほとんどの言語のユーザーは、変数 ++ および変数 -- シンボルに精通している必要があります。つまり、インクリメント 演算子 とデクリメント

演算子

です。 PHP/FI 2 では、ステートメント "$a++" には値がない (式ではない) ため、値を代入したり、他の方法で使用したりすることはできません。 PHP は、C 言語と同様に、インクリメント/デクリメント機能を式に変換することで機能を強化します。 PHP と C 言語には、プリインクリメントとポストインクリメントの 2 種類のインクリメントがあり、基本的に、プリインクリメントとポストインクリメントはどちらも変数の値を増加させ、変数に同じ影響を与えます。違いは、式の値が増加することです。プレインクリメントは、「++$variable」と記述され、増加した値を見つけます (PHP は、変数の値を読み取る前に変数の値をインクリメントするため、「プレインクリメント」と呼ばれます)。ポストインクリメントは、「$variable++」と記述され、インクリメントされる前に変数の元の値を検索します (PHP は変数の値を読み取った後に変数の値をインクリメントするため、「ポストインクリメント」と呼ばれます)。 一般的に使用される式のタイプは比較式です。これらの式は FALSE または TRUE に評価されます。 PHP は > (より大きい)、>= (以上)、== (等しくない)、<(より小さい)、<= (以下) をサポートします。に)。 PHP は、等価演算子 === (同じ値と型) および非同一演算子 !== (異なる値または型) もサポートします。これらの式は、if ステートメントなどの条件付き

判断ステートメント🎜で最も一般的に使用されます。 🎜

这里,将要研究的最后一个例子是组合的运算赋值表达式。已经知道如果想要为变量 $a 加1,可以简单的写“$a++”或者“++$a”。但是如果想为变量增加大于 1 的值,比如 3,该怎么做?可以多次写“$a++”,但这样明显不是一种高效舒适的方法,一个更加通用的做法是“$a = $a + 3”。“$a + 3”计算 $a 加上 3 的值,并且得到的值重新赋予变量 $a,于是 $a 的值增加了3。在 PHP 及其它几种类似 C 的语言中,可以以一种更加简短的形式完成上述功能,因而也更加清楚快捷。为 $a 的当前值加 3,可以这样写:“$a += 3”。这里的意思是“取变量 $a 的值,加 3,得到的结果再次分配给变量 $a”。除了更简略和清楚外,也可以更快的运行。“$a += 3”的值,如同一个正常赋值操作的值,是赋值后的值。注意它不是 3,而是 $a 的值加上3 之后的值(此值将被赋给 $a)。任何二元运算符都可以用运算赋值模式,例如“$a -= 5”(从变量 $a 的值中减去 5),“$b *= 7”(变量 $b 乘以 7),等等。

还有一个表达式,如果没有在别的语言中看到过的话,可能看上去很奇怪,即三元条件运算符:

$first ? $second : $third

如果第一个子表达式的值是 TRUE (非零),那么计算第二个子表达式的值,其值即为整个表达式的值。否则,将是第三个子表达式的值。

下面的例子一般来说应该有助于理解前、后递增和表达式:

<?php
function  double ( $i )
{
    return  $i * 2 ;
}
$b  =  $a  =  5 ;         
$c  =  $a ++;           
$e  =  $d  = ++ $b ;      



$f  =  double ( $d ++);   
$g  =  double (++ $e );   
$h  =  $g  +=  10 ;       
?>

一些表达式可以被当成语句。这时,一条语句的形式是 'expr' ';',即一个表达式加一个分号结尾。在“$b=$a=5;”中,$a=5 是一个有效的表达式,但它本身不是一条语句。“$b=$a=5;”是一条有效的语句。

最后一件值得提起的事情就是表达式的真值。在许多事件中,大体上主要是在条件执行和循环中,不要专注于表达式中明确的值,反而要注意表达式的值是否是 TRUE 或者 FALSE 。常量 TRUE 和 FALSE (大小写无关)是两种可能的 Boolean 值。如果有必要,一个表达式将自动转换为 Boolean。参见类型强制转换一节。

PHP 提供了一套完整强大的表达式,而为它提供完整的文件资料已经超出了本手册的范围。上面的例子应该为你提供了一个好的关于什么是表达式和怎样构建一个有用的表达式的概念。在本手册的其余部分,我们将始终使用expr 来表示一个有效的 PHP 表达式。

以上がphpの式とは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。