<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// Hier sind einige unabhängige Code -Beispiele,Simulationsartikel Beginn des Teils</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">"Dieser Code hat nichts mit dem Inhalt des Artikels zu tun,Zum Beispiel nur。"</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">?></span></span><span>
<hr>
</span><span><span class="hljs-meta"><?php</span></span><span>
<span class="hljs-comment">/**
* Wie zu PHP Verwendet in is_numeric Zusammenarbeiten filter_var Funktionsverarbeitung Digitale Überprüfung?
*
* existieren PHP In der Entwicklung,Die digitale Überprüfung der vom Benutzer eingegebenen Daten ist häufig erforderlich,Stellen Sie die Legalität der Daten sicher。
* In,is_numeric Und filter_var Dies sind zwei häufig verwendete Funktionen,Jeder hat seine eigenen Vor- und Nachteile。
* In diesem Artikel wird vorgestellt, wie diese beiden Funktionen für eine effektive digitale Überprüfung kombiniert werden können.。
*/</span>
<span class="hljs-comment">/**
* 1. is_numeric Funktion Einführung
* is_numeric Wird verwendet, um festzustellen, ob eine Variable eine numerische oder eine numerische Zeichenfolge ist(Einschließlich Ganzzahlen、Schwimmende Punktzahl、Wissenschaftliche Zählmethode)。
* Beispiel:
*/</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>' Es ist eine Nummer\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>' 不Es ist eine Nummer\n";
}
}
<span class="hljs-comment">/**
* 2. filter_var Funktion Einführung
* filter_var Es ist eine leistungsstarke Filterfunktion,可用于验证Und过滤数据。
* In,FILTER_VALIDATE_INT Und FILTER_VALIDATE_FLOAT 用于Überprüfen Sie die GanzzahlenUndSchwimmende Punktzahl。
* Beispiel:
*/</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. Kombiniert is_numeric Und filter_var Szenarien verwenden
* - is_numeric 能够检测是否Es ist eine Nummer或数字字符串,Breite Reichweite。
* - filter_var Strengere Überprüfung,能区分整数UndSchwimmende Punktzahl。
*
* 实际In der Entwicklung,Kann zuerst verwendet werden is_numeric Ein vorläufiges Urteil fällen,Nutze wieder benutzen filter_var Genauige Überprüfung durchführen。
*/</span>
<span class="hljs-comment">/**
* 4. 实际Beispiel代码
*/</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">// Überprüfen Sie die Ganzzahlen</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">// 验证Schwimmende Punktzahl</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">// 只要Es ist eine Nummer即可</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">// Testfälle</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">"eingeben '<span class="hljs-subst">{$input}</span></span></span><span>' Als Ganzzahl überprüfen: " . (</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">'passieren'</span></span><span> : </span><span><span class="hljs-string">'不passieren'</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">"eingeben '<span class="hljs-subst">{$input}</span></span></span><span>' 验证为Schwimmende Punktzahl: " . (</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">'passieren'</span></span><span> : </span><span><span class="hljs-string">'不passieren'</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">"eingeben '<span class="hljs-subst">{$input}</span></span></span><span>' Überprüfen Sie wie eine beliebige Nummer: " . (</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">'passieren'</span></span><span> : </span><span><span class="hljs-string">'不passieren'</span></span><span>) . </span><span><span class="hljs-string">"\n"</span></span><span>;
}
<span class="hljs-comment">/**
* 5. Zusammenfassen
* - verwenden is_numeric Sie können schnell feststellen, ob sich eine Zeichenfolge im numerischen Format befindet。
* - filter_var Bietet eine feiner körnige numerische Typüberprüfung。
* - 两者Kombiniertverwenden,能提高数字验证的准确性Und灵活性。
*/</span>
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>