php - recibir - ¿Una forma más simple de verificar si la variable no es igual a múltiples valores de cadena?
recibir valor de variable php en text de html (4)
Códigos actuales:
<?php
// See the AND operator; How do I simplify/shorten this line?
if( $some_variable !== ''uk'' && $some_variable !== ''in'' ) {
// Do something
}
?>
Y:
<?php
// See the OR operator; How do I simplify/shorten this line?
if( $some_variable !== ''uk'' || $some_variable !== ''in'' ) {
// Do something else
}
?>
¿Hay una manera más simple (es decir, más corta) de escribir las dos condiciones?
NOTA: Sí, son diferentes, y estoy esperando diferentes formas de acortar los códigos.
Necesita una verificación de valor múltiple. Intenta usar el siguiente código:
<?php
$illstack=array(...............);
$val=array(''uk'',''bn'',''in'');
if(count(array_intersect($illstack,$val))===count($val)){ // all of $val is in $illstack}
?>
Para su primer código, puede usar una breve modificación de la respuesta dada por @ShankarDamodaran usando in_array()
:
if ( !in_array($some_variable, array(''uk'',''in''), true ) ) {
es lo mismo que:
if ( $some_variable !== ''uk'' && $some_variable !== ''in'' ) {
... pero más corto. Especialmente si compara más que solo ''uk'' y ''in''. No uso una variable adicional ( Shankar usó $ os ) sino que defino la matriz en la declaración if. Algunos pueden encontrarlo sucio, lo encuentro rápido y ordenado: D
El problema con su segundo código es que puede intercambiarse fácilmente con VERDADERO, ya que:
if (true) {
igual
if ( $some_variable !== ''uk'' || $some_variable !== ''in'' ) {
Usted está preguntando si el valor de una cadena no es A o no B. Si es A, definitivamente tampoco es B y si es B definitivamente no es A. Y si es C o literalmente cualquier otra cosa, es tampoco A y B no. Por lo tanto, esa afirmación siempre ( sin tener en cuenta la ley schrödingers aquí ) devuelve verdadera.
Puede hacer uso de in_array()
en PHP.
$os = array("uk", "us"); // You can set multiple check conditions here
if (in_array("uk", $os)) //Founds a match !
{
echo "Got you";
}
Si está planeando crear una función en la declaración if, también le aconsejo el uso de in_array. Es mucho más limpio.
Si intentas asignar valores a las variables, puedes usar la taquigrafía if / else:
$variable_to_fill = $some_variable !== ''uk'' ? false : true;