![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
サンプルで、
if( strcmp( 第1引数, 第2引数 ) === 0 ){
て書いてあるコードを見たのですが、
この
=== 0
には、どういう意味があるのでしょうか?
(==0とはどう違うのでしょうか? という意味です)
試しに、型の一致を確認できるのかな?
と思いやってみたのですが、
うまくいきませんでした。
$a = "10";
$b = 10;
if( strcmp( $a, $b ) === 0 ){
print "2つの文字列は同じです!";
} else {
print "2つの文字列は違います";
}
strrposの返り値判定に「===」を使うのだったら、
意味は分かるのですが、
それとは意味合いが違うような
(strcmpに===を使う意味はないような)気もするのですが…
No.3
- 回答日時:
蛇足ですが、数値型のデータを文字列として比較している時点で
仕様にあいまいさがあり不適当なソースなので、厳密に
===でチェックする意味はありません。
本来比べるべき質のものじゃないですね・・・
===0については、strcmpの戻り値が明確に数値型だということを
理解していれば自然とそうなります。
<?
$a = (string) 10;
$b = (int) 10;
if( $a!==$b) print "そもそも違うものを比較する意味があるのか?";
if( strcmp( $a, $b )==0) print "1";
if( strcmp( $a, $b )=="0") print "2";
if( strcmp( $a, $b )==false) print "3";
if( strcmp( $a, $b )=="") print "4";
if( strcmp( $a, $b )==NULL) print "5";
if( strcmp( $a, $b )===0) print "6";
if( strcmp( $a, $b )==="0") print "7";
if( strcmp( $a, $b )===false) print "8";
if( strcmp( $a, $b )==="") print "9";
if( strcmp( $a, $b )===NULL) print "10";
?>
回答ありがとうございます。
>蛇足ですが、数値型のデータを文字列として比較している時点で
>仕様にあいまいさがあり不適当なソースなので、厳密に
>===でチェックする意味はありません。
>本来比べるべき質のものじゃないですね・・・
確かにその通りなのですが…。
あくまでも勉強用ということで、
質問してみましたー
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- UNIX・Linux 次のif文について意味を教えてください。 1 2022/11/27 16:55
- C言語・C++・C# C言語の質問です。 以下の命令を実行するプログラムを作りました ①文字列aとbの長さを表示 ②aとb 1 2022/04/29 15:35
- C言語・C++・C# c言語の問題です 3 2023/01/10 16:15
- JavaScript javascriptでif文と配列を組み合わせて運賃プログラムを完成させたいです。 1 2022/07/03 14:20
- PHP if(preg_match("/[^0-9]/",$gu_d)){意味を教えてください。 1 2022/05/06 05:37
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
- Ruby パイソンプログラミング 2 2022/12/03 18:44
- PHP c言語 文字 - '1'+26 3 2022/03/26 20:58
- C言語・C++・C# int temp = 0; if(isdigit(arr[i])){//文字が数字であれば(0~9) 1 2022/03/27 01:37
- C言語・C++・C# c言語 プログラムのエラー 1 2023/02/11 20:31
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
I2C接続のLCDディスプレイを使う
-
ソケットでのデータ送受信につ...
-
数値かどうかの判定方法
-
Perlで複数の値を返す良い方法...
-
JSONで文字列が長い時
-
Application.ScreenUpdating = ...
-
formで特定のinputを送信しない...
-
セレクトメニューで選んだ値を...
-
VBAでPDFのコピーとリネームを...
-
C言語のflagの使い方が分かりま...
-
メモリをアドレスを直接指定し...
-
講義でわからないのですが以下...
-
FindFirst を複数条件で検索
-
【メモリ不足で落ちる(python)】
-
セレクトボックスから別窓にジ...
-
プルダウンリストの背景色の指定
-
「*:*」って何を意味するのでし...
-
セレクトメニューで2つの項目...
-
<SELECT>タグの折り返し
-
実行時エラー 3020の対策
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
16進の10進変換について
-
【至急!!!】python言語で本を見...
-
pythonで演算子を変数に代入す...
-
数値かどうかの判定方法
-
pythonの*
-
UWSCのSELECT文の記述方法
-
int(input("○○"))の使い方
-
関数「exists」と「defined」の...
-
c言語 16進数の2進数への変換
-
Perlにおける<?phpinfo();?>の...
-
シェルスクリプトで、空白(ス...
-
I2C接続のLCDディスプレイを使う
-
「HSP」でキャラコードを使って...
-
switch文のエラーについて
-
Use of uninitialized value ---
-
変数の中は文字列か数値か調べ...
-
perでメールが送信出来ない場合...
-
画面上再読み込みをさせたいの...
-
awkの正規表現での最左最短マッ...
-
数値英単語変換
おすすめ情報