No.3ベストアンサー
- 回答日時:
ちょっと違います。
まずは、マニュアルをよく読みましょう
http://php.net/manual/ja/function.strcmp.php
> 54321 と 6789 は等しくないので、「-1」になり
ただ「等しくない」だけでは、 「-1になる」とは限りません。
もし、 '54321'>'6789' だったら、 +1 になるかもしれません。
さらに。マニュアルには、>0,<0 と書いてあるだけで、-1/+1とは書いてないので、例えば-5や+12 かもしれません。
ここでは '54321'<'6789'なので、strcmpが負の値を返します。
> -1と0を比べると0の方が大きいので、
>「Under」 になるという認識でよろしいでしょうか。
上記のように -1 ではありませんが、 0と比べたら0の方が大きいので、それ以降の認識はあってます。
No.2
- 回答日時:
>54321 と 6789 は等しくないので、「-1」になり
#1さんの解説をよく読めばわかりますが
単純にまえから順番に比較するので
"5"が"6"より小さいので-1になって「>0」が偽になり
Underとなっているということ
それは54321と6を比べても同じです。
No.1
- 回答日時:
strcmpはいわゆる「辞書順」という並び順を使っています。
1文字目同士を比較する
・両方とも1文字目が無い場合は「同じ」
・片方に1文字目が無い場合は、そちらが「小さい」
・両方に文字ある場合
違っていれば、その文字順で小さい方が「小さい」
同じだった場合は2文字目へ
2文字目同士を比較する
・両方とも2文字目が無い場合は「同じ」
・片方に2文字目が無い場合は、そちらが「小さい」
・両方に文字ある場合
違っていれば、その文字順で小さい方が「小さい」
同じだった場合は3文字目へ
以下同様に繰り返して比較します。
この比較方法で 54321 と 6789 を比較してみましょう。
この回答へのお礼
お礼日時:2015/02/08 23:31
お忙しい中、回答をしてくださって、ありがとうございました。
54321 と 6789 は等しくないので、「-1」になり、-1と0を比べると0の方が大きいので、
「Under」 になるという認識でよろしいでしょうか。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP PHPでCookieを使った訪問回数について 1 2023/05/28 14:10
- その他(プログラミング・Web制作) 【Python初学者】以下コードについて教えていただきたいです 4 2023/04/19 13:01
- PHP PostgreSQLからCSV形式でエクスポートする際にカラム内の改行をとる方法 1 2023/02/22 10:05
- PHP PHP ページング データベース 1 2022/06/16 10:30
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
- Excel(エクセル) ExcelのVBAコードについて教えてください。 1 2022/06/20 09:22
- その他(プログラミング・Web制作) pythonリストの特定の値を表示htmlで表示できない 2 2022/05/14 05:48
- JavaScript sessionStorageを調べています。 1 2023/06/20 12:41
- その他(プログラミング・Web制作) atcoder python コードへの助言 2 2022/08/12 15:31
- Visual Basic(VBA) 【VBA】Excelで罫線を引きたい 3 2022/07/14 12:04
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
CString型 全角半角を意識せず...
-
【Excel VBA】セル内テキストの...
-
ファイル名の一部削除について
-
文字列から、null値を除去する方法
-
指定バイト目を取り出すにはど...
-
VBからID3タグをいじる方法
-
TextFieldParserの固定長桁数を...
-
文字の並び替え
-
HEX
-
VB6のテキストボックスに入力し...
-
VB2008 テキストボックス内文...
-
エクセルで13,410円を数値の134...
-
ASPからSQLserverのデータを更...
-
EXCELのVBAでLenB関数について
-
VBA 変数名に変数を使用したい。
-
ExcelVBAからAccessMDB内のテー...
-
vba フィルター 複数条件 3つ以...
-
2つ目のレコードの値を取得す...
-
フィールド名の指定でエラー
-
16進をASCIIコードに変換する...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
EXCELのVBAでLenB関数について
-
ファイル名の一部削除について
-
StrConvでUnicodeに変換出来な...
-
一番右のスペース以降の文字列...
-
CString型 全角半角を意識せず...
-
TextFieldParserの固定長桁数を...
-
文字列から、null値を除去する方法
-
機種依存文字と特殊文字について
-
エクセルで13,410円を数値の134...
-
アクセス ステータスバーの文...
-
VB6のテキストボックスに入力し...
-
マルチバイト混在の文字列整形
-
VBからID3タグをいじる方法
-
「シフトJIS X 0213」形式の文...
-
【Excel VBA】セル内テキストの...
-
HEX
-
ASC関数
-
VBScriptで半角カナと半角英数...
-
C言語とWin32APIで全角かなの...
-
vb2008 MIDB関数
おすすめ情報