Cómo comprobar si $_GET
está vacío?
Respuesta
Usted mismo lo ha dicho, compruebe que es empty
:
if (empty($_GET)) {
// no data passed by get
}
Sede, PHP es tan sencillo. Simplemente escriba lo que piense;)
Este método es bastante seguro. !$_GET
podría darle una variable indefinida E_NOTICE si $_GET
fue desarmado (no es probable, pero es posible).
<?php
if (!isset($_GET) || empty($_GET))
{
// do stuff here
}
'! Isset ($ _ GET)' no es necesario en este caso, 'if (empty ($ _ GET))' sería suficiente –
Vaya, mi mal. .. – john010117
Solo FYI: $ _GET _puede ser desactivado, sin embargo, es muy raro configurar PHP de esa manera (vea 'variables_order') – Wrikken
supongo que la forma más sencilla que no requiere ningún operador es
if($_GET){
//do something if $_GET is set
}
if(!$_GET){
//do something if $_GET is NOT set
}
-1 dado que podría arrojar un error de aviso. Usar empty para probar es una mejor alternativa. –
+1 dado que no es necesario usar empty(). @premiso tiene algún ejemplo de la vida real para probar por qué es mejor? –
Col, no, en realidad, no. Pero podría preguntar lo mismo de usted por qué el suyo es "mejor" y si puede proporcionarme ejemplos reales de por qué su solución es mejor, la respuesta real es ambas válidas (después de mis pruebas vagas). Así que sí, estaba equivocado para el downvote y si el usuario lo modifica lo cambiaré. De lo que se trata es de preferencia, prefiero usar el vacío. La única razón por la que puedo dar esto es que los cheques vacíos si un artículo está vacío.Dado que $ _GET no se establece, devuelve array (0) de var_dump, empty parece ser una mejor opción de usar, en mi opinión. –
if (!$_GET) echo "empty";
por qué se necesita una cuenta de cheques tales?
lol
muchachos de mente directa.
no se toma como una ofensa, pero a veces no importa en absoluto
$ _GET es una variable muy especial, no como otros.
se supone que siempre debe estar configurado. no es necesario tratarlo como otras variables. cuando $ _GET no está establecido y se espera - es caso de emergencia y eso es lo que "Undefined variable" aviso inventado para
¡OMG! ¡DIOS MIO! Debes usar isset() !! ¡De lo contrario no es seguro! ¡1! – mario
@mario tiene algún ejemplo para demostrar? –
Hay una configuración ini llamada 'variables_order' que le permite establecer qué variables establecer y cuáles no establecer. Además, el programador puede desear desconectar '$ _GET', por el motivo que sea. – NikiC
me gustaría utilizar la siguiente instrucción if porque es más fácil de leer (y modificar en el futuro)
if(!isset($_GET) || !is_array($_GET) || count($_GET)==0) {
// empty, let's make sure it's an empty array for further reference
$_GET=array();
// or unset it
// or set it to null
// etc...
}
'if (! Empty ($ _ GET)) {}' es aún más fácil de leer. 'empty()' devuelve 'TRUE' si una matriz no contiene elementos. – kiamlaluno
¿y si $ _GET es una cadena? o un objeto? He tropezado con scripts que arruinaron $ _GET y normalmente comprobo si la variable es del tipo "sé" que debería ser ... –
eso es fácil. simplemente evite tales scripts :) Honestamente, su código es excesivo –
Fácil.
if (empty($_GET)) {
// $_GET is empty
}
Sólo para garantizar la diversión aquí: Usted puede comprobar para
if ($_SERVER["QUERY_STRING"] == null)
es completamente idéntica a la prueba $_GET
.
+1 Pensé en lo mismo, pero no estaba seguro de lo que necesita comprobar. Contra '! Isset',' null' o ''''. ¿Funciona 'null' aquí, has probado? – NikiC
@nikic yup, probado y funciona. Debido a que proviene de Apache, siempre estará configurado, incluso si está vacío, por lo que no es necesaria la comprobación 'array_key_exists()'. –
cualquier cosa funcionará, niki –
Aquí hay 3 métodos diferentes para comprobar esto
<?php
//Method 1
if(!empty($_GET))
echo "exist";
else
echo "do not exist";
//Method 2
echo "<br>";
if($_GET)
echo "exist";
else
echo "do not exist";
//Method 3
if(count($_GET))
echo "exist";
else
echo "do not exist";
?>
- 1. Cómo comprobar si $ _GET [ 'id'] está establecido y no está vacío utilizando php
- 2. ¿Cómo comprobar si UITextFields está vacío?
- 3. C# DataGridView Comprobar si está vacío
- 4. ¿Cómo comprobar si un archivo está vacío en Bash?
- 5. ¿Cómo comprobar si un valor está vacío en Lua?
- 6. Navaja MVC3: cómo comprobar si el modelo está vacío
- 7. ¿Cómo comprobar si el objeto JSON está vacío en Java?
- 8. ¿Cómo comprobar si el objeto JSON está vacío en PHP?
- 9. ¿Cómo comprobar si HTML sessionStorage no está vacío?
- 10. Cómo comprobar si un directorio está vacío en Java
- 11. cómo comprobar si el campo de archivo está vacío?
- 12. Cómo comprobar si mysql devuelve nulo/vacío
- 13. Cómo comprobar si hay un vacío Gridview
- 14. Comprobar si el directorio está vacío en Ruby
- 15. Cómo comprobar que ImageField está vacío
- 16. ¿Cómo verificar si jQuery datepicker está vacío?
- 17. objetivo comprobar si el campo de texto está vacío
- 18. Comprobar si el buzón está vacío en erlang
- 19. Cómo verificar si dynamic está vacío.
- 20. compruebe si NSNumber está vacío
- 21. jquery: si ul está vacío
- 22. recortar y comprobar si de entrada vacío
- 23. ¿Cómo verifico si un repositorio está vacío?
- 24. ¿Cómo probar si un DataSet está vacío?
- 25. Cómo determinar si NSString está vacío
- 26. Comprobación de si un vector está vacío
- 27. AS3: compruebe si un diccionario está vacío
- 28. Python: ¿Cómo comprobar si una lista anidada está esencialmente vacía?
- 29. ¿Cómo comprobar si una deque está vacía en Python?
- 30. Con iOS, cómo comprobar si la URL está vacía
no, su código no debería generar ningún error de nivel de aviso. –
@ Frank Es cierto ... cuando todo va bien. Pero, ¿no es un aviso lo que esperas si $ _GET no está configurado? ¿No es el único propósito de tal aviso? –
No, nunca desea que su código le envíe un aviso. Los errores de lanzamiento de código fuente de cualquier tipo siempre se consideran malos. – NikiC