1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

[PHP] array_diff nao funciona

Discussão em 'Web Development' iniciada por Armadillo, 24 de Outubro de 2007. (Respostas: 3; Visualizações: 550)

  1. Armadillo

    Armadillo Folding Member

    Boas ppl.
    O q se passa eh o seguinte:
    quero fazer a diferenca entre 2 vectores mas apenas neste caso nao funciona.
    Os registos dos 2 vectores sao os seguintes:

    $VectorContactosExistentes
    CONTACTO_2137-ma924.txt
    CONTACTO_2137-mp4317.txt
    CONTACTO_764-ma233.txt
    CONTACTO_764-mp3429.txt
    CONTACTO_765-ma234.txt
    CONTACTO_860-ma277.txt
    CONTACTO_860-mp3475.txt

    $TodosContactosPorCli
    CONTACTO_2137-ma924.txt
    CONTACTO_2137-mp4317.txt
    CONTACTO_62-ma8.txt
    CONTACTO_764-ma233.txt
    CONTACTO_764-mp3429.txt
    CONTACTO_765-ma234.txt
    CONTACTO_860-ma277.txt
    CONTACTO_860-mp3475.txt



    Quando faço o array_diff, nao me retorna o valor CONTACTO_62-ma8.txt .
    PHP:
    $NovosContactos array_diff ($TodosContactosPorCli $VectorContactosExistentes);  
    AO fazer count($NovosContactos) retorna o valor 1, mas lendo no array não existe lah a string CONTACTO_62-ma8.txt

    Em outros sitios do mesmo fich php faco array_dif e funciona perfeitamente.
    O q poderah estar a acontecer??
    Thx
     
  2. Warlord

    Warlord [email protected] Member

    PHP:
    $VectorContactosExistentes=array(
    "CONTACTO_2137-ma924.txt",
    "CONTACTO_2137-mp4317.txt",
    "CONTACTO_764-ma233.txt",
    "CONTACTO_764-mp3429.txt",
    "CONTACTO_765-ma234.txt",
    "CONTACTO_860-ma277.txt",
    "CONTACTO_860-mp3475.txt");

    $TodosContactosPorCli=array(
    "CONTACTO_2137-ma924.txt",
    "CONTACTO_2137-mp4317.txt",
    "CONTACTO_62-ma8.txt",
    "CONTACTO_764-ma233.txt",
    "CONTACTO_764-mp3429.txt",
    "CONTACTO_765-ma234.txt",
    "CONTACTO_860-ma277.txt",
    "CONTACTO_860-mp3475.txt");

    $NovosContactos array_diff ($TodosContactosPorCli $VectorContactosExistentes);

    var_dump($NovosContactos);

    array(
    1) { [2]=> string(19"CONTACTO_62-ma8.txt" 
    esta em: $NovosContactos[2]

    ;)
     
  3. Armadillo

    Armadillo Folding Member

    Ok, obrigadao. Eh isso mesmo!!

    Entao o melhor a fazer serah eliminar as entradas vazias do vector, pq eu depois corro um loop pra percorrer o vector (neste caso os 2 vectores apenas têm estes valores, noutras situacoes, o normal, sera nao ter estes valores).

    Ja agora, como eh q elimino as entradas vazias de um vector?

    Obrigado.
     
  4. Armadillo

    Armadillo Folding Member

    Fiz um sort e funcionou com o loop.
    Obrigado na mesma.
     

Partilhar esta Página