概要
閲覧数:1178
投稿日:2015-12-15
更新日:2016-02-09
引数で(int または numeric string)の何れを受けとっても、range関数の戻り値は(int)の配列
range関数の有効引数
可
・range('a','c');
不可
・range('あ','う');
range関数の戻り値
・引数が「int」→ 「int で構成された配列」を返す
・引数が「numeric string」→ 「int で構成された配列」を返す
・引数が「float」→ 「floatで構成された配列」を返す
・引数が「string」→ 「stringで構成された配列」を返す
range結果に対する判定処理
・is_numeric
→ 引数が「int、float、numeric string」だった場合 は TRUE
・is_int
→ 引数が「int」だった場合 は TRUE
・ctype_digit
→ 常に FALSE
※引数が何れでも「numeric string」は返らないので
int
・数値
・1
numeric string
・数値形式文字列
・String型数値
・'1'
・"1"
string
・文字列
・'あ'
・"あ"
コード
foreach (range(0,2) as $var) { var_dump($var); var_dump(is_numeric($var)); var_dump(is_int($var)); var_dump(ctype_digit($var)); } echo "-----------------------------------\n"; foreach (range('0','2') as $var) { var_dump($var); var_dump(is_numeric($var)); var_dump(is_int($var)); var_dump(ctype_digit($var)); } echo "-----------------------------------\n"; foreach (range("0","2") as $var) { var_dump($var); var_dump(is_numeric($var)); var_dump(is_int($var)); var_dump(ctype_digit($var)); } echo "-----------------------------------\n"; foreach (range("a","c") as $var) { var_dump($var); var_dump(is_numeric($var)); var_dump(is_int($var)); var_dump(ctype_digit($var)); }
結果
int(0) bool(true) bool(true) bool(false) int(1) bool(true) bool(true) bool(false) int(2) bool(true) bool(true) bool(false) ----------------------------------- int(0) bool(true) bool(true) bool(false) int(1) bool(true) bool(true) bool(false) int(2) bool(true) bool(true) bool(false) ----------------------------------- int(0) bool(true) bool(true) bool(false) int(1) bool(true) bool(true) bool(false) int(2) bool(true) bool(true) bool(false) ----------------------------------- string(1) "a" bool(false) bool(false) bool(false) string(1) "b" bool(false) bool(false) bool(false) string(1) "c" bool(false) bool(false) bool(false)