Dans PHP, la fonction ASIN () est utilisée pour calculer une valeur sinusoïdale inverse (c'est-à-dire une fonction trigonométrique inverse). Son paramètre d'entrée est un nombre flottant représentant une valeur sinusoïdale, tandis que la valeur de retour est le radian correspondant (en radians). Mais dans les applications pratiques, nous devons nous assurer que les paramètres transmis dans la fonction ASIN () sont légaux, sinon la fonction renvoie False ou produira un résultat incorrect. Cet article mettra en place comment déterminer si les paramètres d'entrée de la fonction ASIN () sont légaux.
La fonction asin () dans PHP est une fonction mathématique intégrée qui renvoie la valeur sinusoïdale inverse d'une valeur donnée. La syntaxe spécifique est la suivante:
<span><span><span class="hljs-title function_ invoke__">asin</span></span><span>(</span><span><span class="hljs-keyword">float</span></span><span> </span><span><span class="hljs-variable">$arg</span></span><span>): </span><span><span class="hljs-keyword">float</span></span><span>|</span><span><span class="hljs-literal">false</span></span><span>
</span></span>
$ arg : un nombre flottant représentant une valeur sinusoïdale.
Valeur de retour: renvoie la valeur sinusoïdale inverse (Radian) et renvoie false si le paramètre d'entrée n'est pas valide.
La définition d'une valeur sinusoïdale inverse est: Asin (x) est un angle, et sa valeur sinusoïdale est x . Selon la définition mathématique, la plage d'entrée de l'ASIN (X) doit être entre [-1, 1], et toute valeur en dehors de cette plage entraînera des erreurs de calcul.
Tout d'abord, vous devez vous assurer que les paramètres transmis dans la fonction asin () se trouvent dans la plage de [-1, 1]. Sinon, la fonction asin () renvoie false et peut entraîner des résultats non satisfaits.
Vous pouvez utiliser la fonction is_numeric () pour déterminer si le paramètre est un nombre valide, puis déterminer si le nombre se situe dans une plage raisonnable:
<span><span><span class="hljs-function"><span class="hljs-keyword">function</span></span></span><span> </span><span><span class="hljs-title">is_valid_asin_input</span></span><span>(</span><span><span class="hljs-params"><span class="hljs-variable">$value</span></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">$value</span></span><span>) && </span><span><span class="hljs-variable">$value</span></span><span> >= -</span><span><span class="hljs-number">1</span></span><span> && </span><span><span class="hljs-variable">$value</span></span><span> <= </span><span><span class="hljs-number">1</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-keyword">return</span></span><span> </span><span><span class="hljs-literal">false</span></span><span>;
}
</span><span><span class="hljs-variable">$input</span></span><span> = </span><span><span class="hljs-number">0.5</span></span><span>; </span><span><span class="hljs-comment">// Assumer la valeur d'entrée</span></span><span>
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">is_valid_asin_input</span></span><span>(</span><span><span class="hljs-variable">$input</span></span><span>)) {
</span><span><span class="hljs-variable">$result</span></span><span> = </span><span><span class="hljs-title function_ invoke__">asin</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">"asin(<span class="hljs-subst">$input</span></span></span><span>) = " . </span><span><span class="hljs-variable">$result</span></span><span>;
} </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">"Invalid input for asin() function."</span></span><span>;
}
</span></span>
Dans le code ci-dessus, nous vérifions d'abord si la valeur d'entrée est un nombre valide via IS_NUMERIC () , puis déterminons si elle se situe dans la plage de [-1, 1]. Si les conditions sont remplies, la fonction asin () est appelée et le résultat est sorti, sinon l'invite n'est pas valide.
Les paramètres acceptés par la fonction asin () doivent être des types numériques. Si un type non numérique (tel que des chaînes, des valeurs booléennes, des tableaux, etc.) est transmis, il doit être traité de manière appropriée. Par exemple, vous pouvez d'abord utiliser la fonction is_numeric () pour vérifier si la valeur d'entrée est un nombre valide.
<span><span><span class="hljs-function"><span class="hljs-keyword">function</span></span></span><span> </span><span><span class="hljs-title">is_valid_asin_input</span></span><span>(</span><span><span class="hljs-params"><span class="hljs-variable">$value</span></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">$value</span></span><span>)) {
</span><span><span class="hljs-variable">$value</span></span><span> = (</span><span><span class="hljs-keyword">float</span></span><span>)</span><span><span class="hljs-variable">$value</span></span><span>; </span><span><span class="hljs-comment">// Cast to Floating Numeric Type</span></span><span>
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$value</span></span><span> >= -</span><span><span class="hljs-number">1</span></span><span> && </span><span><span class="hljs-variable">$value</span></span><span> <= </span><span><span class="hljs-number">1</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-keyword">return</span></span><span> </span><span><span class="hljs-literal">false</span></span><span>;
}
</span></span>
Dans cette version de la fonction, nous vérifions d'abord si la valeur d'entrée est une valeur numérique, puis la convertit en un type de numéro flottant ( float ) pour s'assurer que la valeur d'entrée répond aux exigences de la fonction asin () .
Parfois, les paramètres d'entrée peuvent être nuls ou d'autres types inattendus, à quel point nous pouvons vérifier ces situations à l'avance et renvoyer des messages d'erreur appropriés ou des valeurs par défaut.
<span><span><span class="hljs-function"><span class="hljs-keyword">function</span></span></span><span> </span><span><span class="hljs-title">is_valid_asin_input</span></span><span>(</span><span><span class="hljs-params"><span class="hljs-variable">$value</span></span></span><span>) {
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">is_null</span></span><span>(</span><span><span class="hljs-variable">$value</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-comment">// NULL La valeur n'est pas valide directement</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">$value</span></span><span>)) {
</span><span><span class="hljs-variable">$value</span></span><span> = (</span><span><span class="hljs-keyword">float</span></span><span>)</span><span><span class="hljs-variable">$value</span></span><span>;
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$value</span></span><span> >= -</span><span><span class="hljs-number">1</span></span><span> && </span><span><span class="hljs-variable">$value</span></span><span> <= </span><span><span class="hljs-number">1</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-keyword">return</span></span><span> </span><span><span class="hljs-literal">false</span></span><span>;
}
</span></span>
Dans cette version améliorée de la fonction, nous vérifions d'abord si la valeur d'entrée est nul , et dans l'affirmative, il reviendra directement faux . Cela empêche la logique de jugement ultérieure de continuer à entrer lorsque l'entrée est nulle .
Lorsque vous utilisez la fonction ASIN () de PHP, il est important de s'assurer que les paramètres d'entrée se trouvent dans une plage raisonnable. En déterminant si la valeur d'entrée est un nombre valide, et dans la plage de [-1, 1], des résultats erronés dus à une entrée illégale peuvent être évités. Les développeurs peuvent rédiger des fonctions d'assistance pour déterminer si l'entrée est légale en fonction des besoins réels et vérifiez avant d'appeler la fonction asin () . Cela peut améliorer la robustesse du programme et éviter les erreurs imprévisibles pendant l'exécution.