4

それが「等しくない」ことは知って!=いますが、次の場合はどういう意味ですか。

if(!$something)

私の最初の推測は、例外と関係がありますが、Google を見回しても何も返されませんでした。

それで、これは何をしますか?

4

12 に答える 12

12

変数に含まれるものはすべてブール値に変換され(変数自体はもちろんそのまま残ります)、!結果のブール値に対して NOT 演算 ( ) が実行されます。!論理演算子であり、ブール値でのみ機能するため、変換が行われます。

ブール値に変換する場合、次の値は FALSE と見なされます。

  • ブール値の FALSE 自体
  • 整数 0 (ゼロ)
  • float 0.0 (ゼロ)
  • 空の文字列、および文字列 "0"
  • 要素がゼロの配列
  • メンバー変数がゼロのオブジェクト (PHP 4 のみ)
  • 特別な型 NULL (未設定の変数を含む)
  • 空のタグから作成された SimpleXML オブジェクト

ヒント:変数がブール値であると想定されていない場合は、チェック対象に応じて、、、などのより具体的なものを使用することをお勧めしisset($variable)ます。詳細はマニュアルを確認してください。empty($variable)$variable === ''

于 2012-06-13T10:23:02.210 に答える
6

以下と同じです:

if((bool)$something != true) {

参照: http://www.php.net/manual/en/control-structures.if.php

于 2012-06-13T10:21:52.757 に答える
3
if (!$something) {

の等価物です

if ($something == false) {
于 2012-06-13T10:21:45.707 に答える
2

$something が偽物かどうかをチェックします。

于 2012-06-13T10:21:25.410 に答える
1

boolean変数を同等の変数に変換します。これはいくつかのケースで与えられます:

<?php

    // Case 1: $variable is boolean
    $variable = true;
    $variable = !$variable; // Changes to false;
    var_dump($variable); // bool(false)

    // Case 2a: $variable is a positive integer
    $variable = 5;
    $variable = !$variable; // Changes to false;
    var_dump($variable); // bool(false)

    // Case 2b: $variable is an integer other than 0
    $variable = 0;
    $variable = !$variable; // Changes to false;
    var_dump($variable); // bool(true)

    // Case 2c: $variable is a negative integer
    $variable = -5;
    $variable = !$variable; // Changes to false;
    var_dump($variable); // bool(false)

    // Case 3a: $variable is string
    $variable = "Hello";
    $variable = !$variable; // Changes to false;
    var_dump($variable); // bool(false)

    // Case 3b: $variable is empty string
    $variable = "";
    $variable = !$variable; // Changes to false;
    var_dump($variable); // bool(true)
?>

要するに、それはempty()機能の反対になります! :)

お役に立てれば!:)

于 2012-06-13T10:26:20.367 に答える
1

それは単に「何かでなければ」という意味です。

if (!false) {
   this_happens_because_not_false_is_true();
}
于 2012-06-13T10:21:09.363 に答える
1

if(!$variable)と同じなif($variable == false)ので、$variable が false かどうかをチェックします。
@bažmegakapa の回答を見て、どの値が false と見なされるかを確認してください。

于 2012-06-13T10:24:09.450 に答える
0

$somethingが falseかどうかを確認します。

于 2012-06-13T10:23:27.117 に答える
0

が false かどうかを確認するか!$something、(if not$something) のように理解できる場合、{//this が実行されます } および $something が存在する場合、this は if に入りません

于 2012-06-13T10:23:51.030 に答える
0

!$variable は「Not」論理演算子です http://uk3.php.net/manual/en/language.operators.logical.php

ブール値を取り、それを反転します。真が偽になり、偽が真になります。

于 2012-06-13T10:24:31.553 に答える
-3
if($somethin == ""){
}

Or

if($somethin != ""){
}
于 2012-06-13T11:15:20.167 に答える