人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

「0001」等の整数データから成る文字列の判定をbooleanで返すphpの関数を教えて下さい。
文字列は$idに格納されており、
is_numeric($id)
だと「00001」等の文字列をtrueで返してくれません。
また、preg_matchの使い方は良く分かりませんでしたのでご教示下さればうれしいです♪

●質問者: ReoReo7
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:PHP データ 整数 文字列 関数
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● a-kuma3
●35ポイント ベストアンサー

こんな感じ。

$id = ...
if (preg_match("/\d+/", $id)) {
 // $id は、数字
}

preg_match の最初の引数にどんな文字列を渡すのかは、「正規表現」をキーワードに入れて検索するといいと思います。

◎質問者からの返答

preg_matchについての表現が知りたかったので、助かりました。

ありがとうございます。


2 ● HowAreYou
●35ポイント

当方の環境では is_numeric でも true になるのですが……

改行とか余計な物が付いていたりしないでしょうか。

preg_match を使った例と ctype_digit 関数を紹介しておきます。

<?php
$id = '0000005' ;

echo is_numeric($id) ;
//echo preg_match('/^\d+$/', $id) ;
//echo ctype_digit($id) ;
◎質問者からの返答

コメント欄に示した通り、当方のミスでis_numericでもOKなことが確認できました。

しかしながら、preg_matchやctype_digitといった方法を知らなかったので、しれて良かったと思います。ありがとうございました。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ