質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

解決済

6回答

1614閲覧

この記号の意味は?

a-_.

総合スコア133

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

1グッド

0クリップ

投稿2016/08/04 23:56

編集2016/09/06 02:21

PHPやJavaScriptのコードを見ていて、「if(!$a)~」の「!」とか「~!==NULL」の「!」をよく見かけますが、「!」は何なんでしょうか
エスケープシーケンスの一種なのでしょうか

追記
否定する意味であるなら、例えばif文で「false」を用いるのと何か異なるんでしょうか
あと否定するくらいなら最初からそのコードを書かなければいいと思うんですが、わざわざ「!」を用いらなければならない処理やコード、あと意味とはどんな内容なのでしょうか
追記

<!DOCTYPE HTML>の「!」はなんでしょうか
Arip👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答6

0

プログラムの基本的な書き方・読み方が分かるまでは、入門書を拾い読みせずきっちり読み切りましょう。
あるいは、文法はリファレンスに解説があります。
PHP: 演算子 - Manual
!を知らないレベルであれば、このページの目次からのリンクを全部読みましょう。

投稿2016/08/05 00:30

otn

総合スコア84557

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

否定演算子です。

「!=」でノットイコールを表します。

###追記
質問の追記を受けて。
まぁ何にでも疑問を抱くのは大事だと思います。

さて質問者さんが言われるように確かに否定演算子がなくてもコーディングは出来ますが、
否定演算子があることで効率の良い書き方・可読性の高い書き方が実現出来ます。

たとえば1から10の値のいずれかが入る変数があり、
値が5以外なら表示したいとした場合

否定演算子がないとすると以下のようなコードになります。

PHP

1$i; // 1〜10のいずれかが入るとする 2if ((1 <= $i && $i <= 4 ) || (6 <= $i && $i <= 10)){ 3 echo $i; 4}

これが否定演算子があることで以下のように書けます。

PHP

1$i; // 1〜10のいずれかが入るとする 2if ($i !== 5){ 3 echo $i; 4}

要するに何とかでない場合に限って処理をしたい場合は、
〜でないという表現をそのままプログラムに記載できる方が、

  • 記述量が減る
  • 意図が明確
  • 可読性も高い

の3つのメリットがあるのです。

投稿2016/08/04 23:59

編集2016/08/05 03:30
Panzer_vor

総合スコア1636

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

あと否定するくらいなら最初からそのコードを書かなければいいと思うんですが、わざわざ「!」を用いらなければならない処理やコード、あと意味とはどんな内容なのでしょうか

例えば、案件管理のシステムで、受注状況を検索する機能があるとします。
(受注状況:「引合」、「社内見積」、「見積提出」、「受注」、「失注」、「作業完了」)

その場合、「作業完了」以外のデータを取得したい場合に、
if(受注状況 != "作業完了")
とすると「作業完了」以外のデータが取得できることになります。

!を用いらない場合は、
**if(受注状況 == "引合" || 受注状況 == "社内見積" || 受注状況 == "見積提出" || 受注状況 == "受注" || 受注状況 == "失注") **
といったように長いコードを書かなければなりません。

投稿2016/08/05 01:13

Arip

総合スコア30

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

PHPのコードに関しては様々な回答者様が記載されているので、追記部分のみを…

追記

<!DOCTYPE HTML>の「!」はなんでしょうか

これはHTMLの文書宣言ですね。
1行目に記載するHTMLの文書宣言では、タグ名の1文字目に普段絶対使われない!記号を用いる事で、
これは絶対に他と区別しなければならない特別なタグとして強調しているわけです。

なので、もしHTMLで<DOCTYPE>というタグを宣言したくなった場合でもそのまま宣言出来るわけです。
そして、ブラウザーは1行目に宣言されている文書宣言である<!DOCTYPE>を読み込む事で、<DOCTYPE>と混同してしまう事はなくなります。
(まぁDOCTYPEなんてタグ名を使う事はほぼ無いと思いますが、HTML5の世界は一応好き勝手なタグ名が付けられますので…)

投稿2016/08/05 05:01

miyabi-sun

総合スコア21158

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

否定するくらいなら最初からそのコードを書かなければいいと思うんですが、わざわざ「!」を用いらなければならない処理やコード、あと意味とはどんな内容なのでしょうか

「xが0でないならAをする」

投稿2016/08/05 00:52

ozwk

総合スコア13528

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

否定なので関係性はこうです

  • true != false
  • true !== false
  • true == !false
  • true === !false
  • !true == false
  • !true == false
  • !true != !false
  • !true !== !false

投稿2016/08/05 00:24

yambejp

総合スコア114843

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yambejp

2016/08/05 01:21

往々にして関数は成功したらtrueを返すものと、失敗したらfalseを返すものがあります それをうまく活用するには否定は重要です。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問