<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>is_int &#8211; トモデジ  tomodigi.com</title>
	<atom:link href="https://tomodigi.com/tag/is_int/feed/" rel="self" type="application/rss+xml" />
	<link>https://tomodigi.com</link>
	<description>デジタルもアナログも</description>
	<lastBuildDate>Sun, 25 Sep 2011 07:55:49 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.8.3</generator>
	<item>
		<title>整数かどうか s_numeric,is_int,ctype_digit (PHP)</title>
		<link>https://tomodigi.com/web/%e6%95%b4%e6%95%b0%e3%81%8b%e3%81%a9%e3%81%86%e3%81%8b-s_numericis_intctype_digit-php/</link>
					<comments>https://tomodigi.com/web/%e6%95%b4%e6%95%b0%e3%81%8b%e3%81%a9%e3%81%86%e3%81%8b-s_numericis_intctype_digit-php/#respond</comments>
		
		<dc:creator><![CDATA[Tomo]]></dc:creator>
		<pubDate>Wed, 28 Sep 2011 07:15:47 +0000</pubDate>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[WEB]]></category>
		<category><![CDATA[ctype_digit]]></category>
		<category><![CDATA[is_int]]></category>
		<category><![CDATA[is_numeric]]></category>
		<category><![CDATA[数値]]></category>
		<guid isPermaLink="false">http://www.tomodigi.com/?p=162</guid>

					<description><![CDATA[以前数値かどうか？というエントリで記述したようにPHPでの数値かどうかの判定にはis_intが使えると書きました。他にもctype_digitという関数があるのですが、この関数は”文字列”が”数字”かどうかを判定するので &#8230; <a href="https://tomodigi.com/web/%e6%95%b4%e6%95%b0%e3%81%8b%e3%81%a9%e3%81%86%e3%81%8b-s_numericis_intctype_digit-php/" class="more-link">続きを読む <span class="screen-reader-text">整数かどうか s_numeric,is_int,ctype_digit (PHP)</span> <span class="meta-nav">&#8594;</span></a>]]></description>
										<content:encoded><![CDATA[<p>以前<a title="数値かどうか？ (PHP)" href="http://www.tomodigi.com/2009/02/28/%e6%95%b0%e5%80%a4%e3%81%8b%e3%81%a9%e3%81%86%e3%81%8b%ef%bc%9f/">数値かどうか？</a>というエントリで記述したようにPHPでの数値かどうかの判定にはis_intが使えると書きました。他にもctype_digitという関数があるのですが、この関数は”文字列”が”数字”かどうかを判定するので、string型で用いるのが前提になっています。つまり、float型はもちろん、int型もすべてfalseと判断されます。<br />
いくつかの例でテストした結果を一覧表にしてみました。（PHPのバージョンは5.2.5）<br />
</p>
<table>
<tbody>
<tr>
<th>元データ</th>
<th>var_dump()</th>
<th>is_numeric()</th>
<th>is_int()</th>
<th>ctype_digit()</th>
</tr>
<tr>
<td>&#8220;abc&#8221;</td>
<td>string(3) &#8220;abc&#8221;</td>
<td>bool(false)</td>
<td>bool(false)</td>
<td>bool(false)</td>
</tr>
<tr>
<td>&#8220;123&#8221;</td>
<td>string(3) &#8220;123&#8221;</td>
<td>bool(true)</td>
<td>bool(false)</td>
<td>bool(true)</td>
</tr>
<tr>
<td>&#8220;0123&#8221;</td>
<td>string(4) &#8220;0123&#8221;</td>
<td>bool(true)</td>
<td>bool(false)</td>
<td>bool(true)</td>
</tr>
<tr>
<td>&#8220;.0123&#8221;</td>
<td>string(5) &#8220;.0123&#8221;</td>
<td>bool(true)</td>
<td>bool(false)</td>
<td>bool(false)</td>
</tr>
<tr>
<td>&#8220;0.123&#8221;</td>
<td>string(5) &#8220;0.123&#8221;</td>
<td>bool(true)</td>
<td>bool(false)</td>
<td>bool(false)</td>
</tr>
<tr>
<td>&#8220;0e3&#8221;</td>
<td>string(3) &#8220;0e3&#8221;</td>
<td>bool(true)</td>
<td>bool(false)</td>
<td>bool(false)</td>
</tr>
<tr>
<td>&#8220;0a3&#8221;</td>
<td>string(3) &#8220;0a3&#8221;</td>
<td>bool(false)</td>
<td>bool(false)</td>
<td>bool(false)</td>
</tr>
<tr>
<td>&#8220;0x12&#8221;</td>
<td>string(4) &#8220;0x12&#8221;</td>
<td>bool(true)</td>
<td>bool(false)</td>
<td>bool(false)</td>
</tr>
<tr>
<td>abc</td>
<td>string(3) &#8220;abc&#8221;</td>
<td>bool(false)</td>
<td>bool(false)</td>
<td>bool(false)</td>
</tr>
<tr>
<td>123</td>
<td>int(123)</td>
<td>bool(true)</td>
<td>bool(true)</td>
<td>bool(false)</td>
</tr>
<tr>
<td>0123</td>
<td>int(83)</td>
<td>bool(true)</td>
<td>bool(true)</td>
<td>bool(false)</td>
</tr>
<tr>
<td>.0123</td>
<td>float(0.0123)</td>
<td>bool(true)</td>
<td>bool(false)</td>
<td>bool(false)</td>
</tr>
<tr>
<td>0.123</td>
<td>float(0.123)</td>
<td>bool(true)</td>
<td>bool(false)</td>
<td>bool(false)</td>
</tr>
<tr>
<td>0e3</td>
<td>float(0)</td>
<td>bool(true)</td>
<td>bool(false)</td>
<td>bool(false)</td>
</tr>
<tr>
<td>xabc</td>
<td>string(4) &#8220;xabc&#8221;</td>
<td>bool(false)</td>
<td>bool(false)</td>
<td>bool(false)</td>
</tr>
<tr>
<td>0x12</td>
<td>int(18)</td>
<td>bool(true)</td>
<td>bool(true)</td>
<td>bool(false)</td>
</tr>
</tbody>
</table>
<p>is_numericは文字列型、数値型ともに対応し、整数、小数、16進数、科学記法をtrueと判定します。<br />
is_intは数値型を前提とし、文字列型には対応しません。16進数はtrueです。<br />
ctype_digitは文字列型を前提とします。&#8221;0123&#8243;もtrueと判定します。</p>
<p>intvalで文字列を数値に変換することはできますが、変換できない場合は0となるので、is_intではtrueと判断されてしまいます。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://tomodigi.com/web/%e6%95%b4%e6%95%b0%e3%81%8b%e3%81%a9%e3%81%86%e3%81%8b-s_numericis_intctype_digit-php/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
