New question

Question:

Date: 10-07-2017 13:54:05 (In Spanish)

¿Cómo comparar una variable con uno o más espacios en blanco?[Unresolved]

Estoy trabajando con ajax.
El problema que tengo es que al grabar más de un espacio en blanco, enviado por post, para luego grabarlo en MySQL, este se graba con el caracter Â. Pense que podía corregirlo cambiando el cotejamiento de mi base de datos, PERO AUN SIGUE SIN DAR RESULTADO Y LO QUE NO ENTIENDO ES: el recoger un parametro con estos supuestos espacios " ", por que no puedo darle un trim() o == a o al menos usar !=, ni con el empty($parametro) me resulta.
Tags: Charset - Database - MySQL - PHP - Question Votes: 0 - Answers: 4 - Views: 12 Share on: Google Facebook Twitter LinkedIn Link
 

Answers:

  • Date: 10-07-2017 16:00:28 si lo que quieres es saber cuantos espacios hay en una cadena enviada, prueba así:

    $can = "   ";//Aquí hay tres espacios
    echo substr_count($can, ' ');//aquí cuento y muestro cuantos espacios vacíos hay en la cadena
    //esto imprime 3
    
      Votes: 1 - Link answer
     
  • Date: 10-07-2017 19:36:15 Hola

    La función trim() Elimina espacio en blanco del inicio y el final de la cadena
    Por ejemplo:
    $cadena = trim(" esto es un texto "); // contiene 2 espacios al inicio y al final de la cadena de texto
    se elimina los espacios que esta al inicio y al final del texto quedando "esto es un texto"
    En este caso es válido "esto es un texto" ya que los espacios están entre las palabras y no al inicio ni al final.

    La función empty() Determina si una variable es considerada vacía. Una variable se considera vacía si no existe o si su valor es igual a FALSE. empty() no genera una advertencia si la variable no existe.

    Si el valor de la variable es un espacio no se considera vacía ya que el mismo espacio hace que no este vacía, es un carácter como cualquier otro.

    Ejemplos:

    //La variable no está definida. empty() devuelve true
    var_dump( empty($var) );
    
    //empty() devuelve true. El valor de $var es nulo
    $var;
    var_dump( empty($var) );
    
    //empty() devuelve true para un string vacío
    $var = "";
    var_dump( empty($var) );
    
    //empty() devuelve true para un array vacío
    $var = array();
    var_dump( empty($var) );
    
    //empty() devuelve true para el string "0"
    $var = "0";
    var_dump( empty($var) );
    
    //empty() devuelve true para el número entero 0
    $var = 0;
    var_dump( empty($var) );
    
    //empty() devuelve true para el valor lógico false
    $var = false;
    var_dump( empty($var) );
    
    //empty() devuelve false para el valor lógico true
    $var = true;
    var_dump( empty($var) );
    

    Codigo ejecutable Online

    Con respecto al carácter  posiblemente se deba a la codificación de caracteres. Deberás utilizar utf-8

    Seria bueno que compartas el codigo en concreto para que podamos revisarlo.

    Saludos
      Votes: 1 - Link answer
     
  • Date: 11-07-2017 05:55:56 Walter,
    Solo aclaro el punto:
    La función trim elimina una cadena de caracteres (o un solo caracter) seleccionados del principio y final de una cadena dada.

    En el caso que hablas, si se utiliza sin proporcionar un segundo parámetro no elimina únicamente caracteres de espacio sino la siguiente lista:

    \t\n\r\0\x0B

    Es decir, espacio, tabulador, salto de línea, retorno de carry, caracter nulo y un tab vertical.

    Saludos!
      Votes: 1 - Link answer
     
  • Date: 30-09-2017 04:34:44 :V   Votes: 0 - Link answer
     
To actively participate in the community first must authenticate, enter the system.Sign In