スレッド表示 | フラット表示〕 全トピック 920 件中 516 番目 次≫ ≪前

0は登録不可?

created: 2004-12-02 18:05 | modified: 2004-12-03 17:08 | reply: 2

[1949] 0は登録不可?

user: ももか | created: 2004-12-02 18:05
こんにちは、ももかです。

このBBSでの質問内容とは異なる質問と承知の上、質問いたします。(すみません)

PostgreSQLのことです。
フォームからデータをとばし、データベースに登録する処理を行っています。
$telに0111と入力すると、0が表示されず、111と表示されます。
0000と入力すると、0と表示されます。

テーブル作成の時点で、telはint型にしました。int型は、標準で0は表示されないことになっているのでしょうか?
どなたかご存知の方は、教えていただきたいのです。
reply: 1950 返信 編集 削除

[1950] データ型

user: ゆうじ | created: 2004-12-02 19:09
こんばんわ。

0111は電話番号のことだと思うのですが、
それなら tell のデータ型を文字列('0111')にして保存しなければならないと思います。

また、PHPのデータ型はちょっと特殊でして、
状況に応じて整数型と文字列型の変換を勝手にやってくれます。
111、0111、'111'、'0111' は見かけ上同じと判断されますので、

$tell = (string)$_POST['tell'];

と、強制的に文字列にキャストしてから保存する必要もあるかもしれません。

型キャストについてはPHPマニュアルの型の相互変換をご覧頂くとよくわかると思います。
http://www.php.net/manual/ja/language.types.type-juggling.php


どうしても int型 ということでしたら、
表示の際強制的に市外局番の頭にゼロを付加するのはどうでしょう。

$tell = 111;
echo sprintf("0%d", $tell);
Parent: 1949  reply: 1958 返信 編集 削除

[1958] 型キャスト

user: ももか | created: 2004-12-03 17:08
お返事ありがとうございます。


変数の前に、(型名)とすると、
強制的に型キャストするのですね。

また、一つ知識が増えました。

これからもよろしくお願いします。
Parent: 1950  返信 編集 削除
スレッド表示 | フラット表示〕 全トピック 920 件中 516 番目 次≫ ≪前
ページの一番上へ
Googleグックマークに登録 Yahooグックマークに登録 livedoorクリップに登録 @niftyクリップに登録 はてなブックマークに登録 deliciousに登録 Buzzurlに登録 FC2ブックマークに登録
最近更新された掲示板トピックス
管理人Blog
Yahoo Search

最近更新したNote
PHPマニュアル
今日のブックマーク
PHPマニュアル関数検索
関数名を入力し検索ボタンをクリック↑