현재 위치: > 최신 기사 목록> 필터 _var 기능이있는 PHP에서 IS_NUMERIC를 사용하는 방법 디지털 확인을 처리하는 방법은 무엇입니까?

필터 _var 기능이있는 PHP에서 IS_NUMERIC를 사용하는 방법 디지털 확인을 처리하는 방법은 무엇입니까?

gitbox 2025-06-24
<span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-comment">// 다음은 관련없는 코드 예제입니다,시뮬레이션 기사 시작 부분</span></span><span>
</span><span><span class="hljs-function"><span class="hljs-keyword">function</span></span></span><span> </span><span><span class="hljs-title">exampleFunction</span></span><span>(</span><span><span class="hljs-params"></span></span><span>) {
    </span><span><span class="hljs-keyword">return</span></span><span> </span><span><span class="hljs-string">"이 코드는 기사의 내용과 관련이 없습니다.,예를 들어。"</span></span><span>;
}

</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-title function_ invoke__">exampleFunction</span></span><span>();

</span><span><span class="hljs-meta">?&gt;</span></span><span>

&lt;hr&gt;

</span><span><span class="hljs-meta">&lt;?php</span></span><span>
<span class="hljs-comment">/**
 * 방법 PHP 사용 is_numeric 맞잡다 filter_var 기능 처리 디지털 검증?
 * 
 * 존재하다 PHP 개발 중,사용자가 입력 한 데이터의 디지털 검증은 종종 필요합니다.,데이터의 합법성을 확인하십시오。
 * ~에,is_numeric 그리고 filter_var 이들은 일반적으로 사용되는 두 가지 기능입니다,각각 자체의 장점과 단점이 있습니다。
 * 이 기사는 효과적인 디지털 검증을 위해이 두 기능을 결합하는 방법을 소개합니다.。
 */</span>

<span class="hljs-comment">/**
 * 1. is_numeric 기능 소개
 * is_numeric 변수가 숫자인지 숫자 문자열인지 감지하는 데 사용됩니다.(정수 포함、부동 소수점 번호、과학적 계산 방법)。
 * 예:
 */</span>
</span><span><span class="hljs-variable">$values</span></span><span> = [</span><span><span class="hljs-string">'123'</span></span><span>, </span><span><span class="hljs-string">'12.3'</span></span><span>, </span><span><span class="hljs-string">'1e10'</span></span><span>, </span><span><span class="hljs-string">'abc'</span></span><span>, </span><span><span class="hljs-string">''</span></span><span>];

</span><span><span class="hljs-keyword">foreach</span></span><span> (</span><span><span class="hljs-variable">$values</span></span><span> </span><span><span class="hljs-keyword">as</span></span><span> </span><span><span class="hljs-variable">$val</span></span><span>) {
    </span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">is_numeric</span></span><span>(</span><span><span class="hljs-variable">$val</span></span><span>)) {
        </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"'<span class="hljs-subst">{$val}</span></span></span><span>' 숫자입니다\n";
    } </span><span><span class="hljs-keyword">else</span></span><span> {
        </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"'<span class="hljs-subst">{$val}</span></span></span><span>' 不숫자입니다\n";
    }
}

<span class="hljs-comment">/**
 * 2. filter_var 기능 소개
 * filter_var 강력한 필터 기능입니다,可用于验证그리고过滤数据。
 * ~에,FILTER_VALIDATE_INT 그리고 FILTER_VALIDATE_FLOAT 用于정수를 확인하십시오그리고부동 소수점 번호。
 * 예:
 */</span>
</span><span><span class="hljs-variable">$intVal</span></span><span> = </span><span><span class="hljs-string">'123'</span></span><span>;
</span><span><span class="hljs-variable">$floatVal</span></span><span> = </span><span><span class="hljs-string">'12.3'</span></span><span>;
</span><span><span class="hljs-variable">$invalidVal</span></span><span> = </span><span><span class="hljs-string">'12abc'</span></span><span>;

</span><span><span class="hljs-title function_ invoke__">var_dump</span></span><span>(</span><span><span class="hljs-title function_ invoke__">filter_var</span></span><span>(</span><span><span class="hljs-variable">$intVal</span></span><span>, FILTER_VALIDATE_INT));    </span><span><span class="hljs-comment">// int(123)</span></span><span>
</span><span><span class="hljs-title function_ invoke__">var_dump</span></span><span>(</span><span><span class="hljs-title function_ invoke__">filter_var</span></span><span>(</span><span><span class="hljs-variable">$floatVal</span></span><span>, FILTER_VALIDATE_FLOAT)); </span><span><span class="hljs-comment">// float(12.3)</span></span><span>
</span><span><span class="hljs-title function_ invoke__">var_dump</span></span><span>(</span><span><span class="hljs-title function_ invoke__">filter_var</span></span><span>(</span><span><span class="hljs-variable">$invalidVal</span></span><span>, FILTER_VALIDATE_INT)); </span><span><span class="hljs-comment">// bool(false)</span></span><span>

<span class="hljs-comment">/**
 * 3. 결합 is_numeric 그리고 filter_var 시나리오를 사용하십시오
 * - is_numeric 能够检测是否숫자입니다或数字字符串,넓은 범위。
 * - filter_var 더 엄격한 확인,能区分整数그리고부동 소수점 번호。
 * 
 * 实际개발 중,먼저 사용할 수 있습니다 is_numeric 예비 판단을 내립니다,다시 사용하십시오 filter_var 정확한 확인을 수행하십시오。
 */</span>

<span class="hljs-comment">/**
 * 4. 实际예代码
 */</span>
</span><span><span class="hljs-function"><span class="hljs-keyword">function</span></span></span><span> </span><span><span class="hljs-title">validateNumber</span></span><span>(</span><span><span class="hljs-params"><span class="hljs-variable">$input</span></span></span><span>, </span><span><span class="hljs-variable">$type</span></span><span> = </span><span><span class="hljs-string">'any'</span></span><span>) {
    </span><span><span class="hljs-keyword">if</span></span><span> (!</span><span><span class="hljs-title function_ invoke__">is_numeric</span></span><span>(</span><span><span class="hljs-variable">$input</span></span><span>)) {
        </span><span><span class="hljs-keyword">return</span></span><span> </span><span><span class="hljs-literal">false</span></span><span>;
    }

    </span><span><span class="hljs-keyword">switch</span></span><span> (</span><span><span class="hljs-variable">$type</span></span><span>) {
        </span><span><span class="hljs-keyword">case</span></span><span> </span><span><span class="hljs-string">'int'</span></span><span>:
            </span><span><span class="hljs-comment">// 정수를 확인하십시오</span></span><span>
            </span><span><span class="hljs-keyword">return</span></span><span> </span><span><span class="hljs-title function_ invoke__">filter_var</span></span><span>(</span><span><span class="hljs-variable">$input</span></span><span>, FILTER_VALIDATE_INT) !== </span><span><span class="hljs-literal">false</span></span><span>;
        </span><span><span class="hljs-keyword">case</span></span><span> </span><span><span class="hljs-string">'float'</span></span><span>:
            </span><span><span class="hljs-comment">// 验证부동 소수점 번호</span></span><span>
            </span><span><span class="hljs-keyword">return</span></span><span> </span><span><span class="hljs-title function_ invoke__">filter_var</span></span><span>(</span><span><span class="hljs-variable">$input</span></span><span>, FILTER_VALIDATE_FLOAT) !== </span><span><span class="hljs-literal">false</span></span><span>;
        </span><span><span class="hljs-keyword">case</span></span><span> </span><span><span class="hljs-string">'any'</span></span><span>:
        </span><span><span class="hljs-keyword">default</span></span><span>:
            </span><span><span class="hljs-comment">// 只要숫자입니다即可</span></span><span>
            </span><span><span class="hljs-keyword">return</span></span><span> </span><span><span class="hljs-literal">true</span></span><span>;
    }
}

</span><span><span class="hljs-comment">// 테스트 사례</span></span><span>
</span><span><span class="hljs-variable">$testInputs</span></span><span> = [</span><span><span class="hljs-string">'123'</span></span><span>, </span><span><span class="hljs-string">'12.3'</span></span><span>, </span><span><span class="hljs-string">'1e3'</span></span><span>, </span><span><span class="hljs-string">'abc'</span></span><span>, </span><span><span class="hljs-string">'0'</span></span><span>, </span><span><span class="hljs-string">'-45'</span></span><span>, </span><span><span class="hljs-string">'3.14.15'</span></span><span>];

</span><span><span class="hljs-keyword">foreach</span></span><span> (</span><span><span class="hljs-variable">$testInputs</span></span><span> </span><span><span class="hljs-keyword">as</span></span><span> </span><span><span class="hljs-variable">$input</span></span><span>) {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"입력하다 '<span class="hljs-subst">{$input}</span></span></span><span>' 정수로 확인하십시오: " . (</span><span><span class="hljs-title function_ invoke__">validateNumber</span></span><span>(</span><span><span class="hljs-variable">$input</span></span><span>, </span><span><span class="hljs-string">'int'</span></span><span>) ? </span><span><span class="hljs-string">'통과하다'</span></span><span> : </span><span><span class="hljs-string">'不통과하다'</span></span><span>) . </span><span><span class="hljs-string">"\n"</span></span><span>;
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"입력하다 '<span class="hljs-subst">{$input}</span></span></span><span>' 验证为부동 소수점 번호: " . (</span><span><span class="hljs-title function_ invoke__">validateNumber</span></span><span>(</span><span><span class="hljs-variable">$input</span></span><span>, </span><span><span class="hljs-string">'float'</span></span><span>) ? </span><span><span class="hljs-string">'통과하다'</span></span><span> : </span><span><span class="hljs-string">'不통과하다'</span></span><span>) . </span><span><span class="hljs-string">"\n"</span></span><span>;
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"입력하다 '<span class="hljs-subst">{$input}</span></span></span><span>' 숫자로 확인하십시오: " . (</span><span><span class="hljs-title function_ invoke__">validateNumber</span></span><span>(</span><span><span class="hljs-variable">$input</span></span><span>, </span><span><span class="hljs-string">'any'</span></span><span>) ? </span><span><span class="hljs-string">'통과하다'</span></span><span> : </span><span><span class="hljs-string">'不통과하다'</span></span><span>) . </span><span><span class="hljs-string">"\n"</span></span><span>;
}

<span class="hljs-comment">/**
 * 5. 요약
 * - 사용 is_numeric 문자열이 숫자 형식인지 신속하게 결정할 수 있습니다.。
 * - filter_var 더 미세한 숫자 유형 확인을 제공합니다。
 * - 两者결합사용,能提高数字验证的准确性그리고灵活性。
 */</span>
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>