Ir para conteúdo
Fórum Script Brasil
  • 0

Problema


Gibbosity

Pergunta

Boa tarde pessoal, estou com problemas.

vou tentar simplificar, tenho um arquivo texto chamado GRUPOA,GRUPOB, e outro arquivo texto chamado GRUPOC.

Dentro do arquivo GRUPOA, está assim:

elemento1:senha

elemento2:senha

E dentro do GRUPOB, está assim:

elemento

elemento

elemento

e GRUPOC igual o B

elemento

elemento

elemento

Então eu gostaria de comparar os 3 grupos, e printar na tela os elementos do grupo A que não estão nos elementos dos grupos B e C.

meu código exemplo dessa explicação é este:

$array = file($config->GRUPOA);
$pass = array();
for($i=0; $i<count($array); $i++)
{
$narray = explode(':',$array[$i]);
array_push($pass,$narray[0]);
}
$array_users = file($config->GRUPOB);
$array_advanced_users = file($config->GRUPOC);
/*

*/
$result = array_diff($pass,$array_users,$array_advanced_users);

Está printando errado ! Meu código original existe mais grupos, mas é como citei acima... vou colar a função original:

function global_no_assoc()
    {
        $config = new config();
        $config->proxy();
        /*
        
        */
        $array = file($config->passwd);
        $pass = array();
        for($i=0; $i<count($array); $i++)
        {
            $narray = explode(':',$array[$i]);
            array_push($pass,$narray[0]."\n");
        }


        
        $array_users = file($config->users);
        $array_advanced_users = file($config->advanced_users);
        $array_semi_admins_proxy = file($config->semi_admins_proxy);
        $array_admins_proxy = file($config->admins_proxy);
        /*
        
        */
        $result = array_diff($pass,$array_users,$array_advanced_users,$array_admins_proxy,$array_semi_admins_proxy);
        return $result;
    }

Ta printando errado

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0
arquivo grupoA.txt
elemento1:senha
elemento2:senha

arquivo grupoB.txt
elemento
elemento1
elemento2

arquivo index.php
<?php
class config // isso eu improvisei
{
    public $passwd = 'grupoA.txt';
    public $users = 'grupoB.txt';
    public $advanced_users = 'grupoB.txt';
    public $semi_admins_proxy = 'grupoB.txt';
    public $admins_proxy = 'grupoB.txt';
    static function proxy(){ }
}

function global_no_assoc()
{
    $config = new config();
    $config->proxy();
    $array = file($config->passwd);
    $pass = array();
    for($i=0; $i<count($array); $i++)
    {
        $narray = explode(':',$array[$i]);
        array_push($pass,$narray[0]); 
		// alterei aqui e acrescentei nova regra no comando file
    } 
    $array_users = file($config->users,
        FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
    $array_advanced_users = file($config->advanced_users,
        FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
    $array_semi_admins_proxy = file($config->semi_admins_proxy,
        FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
    $array_admins_proxy = file($config->admins_proxy,
        FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
    $result = array_diff($pass,$array_users,$array_advanced_users,
			$array_admins_proxy,$array_semi_admins_proxy);
    return $result;
}
var_dump(global_no_assoc()); 
// o resultado é um array vazio, pois coloquei 
// o elemento1 e elemento2 no grupoB.txt

// gostei desse trabalho, não sabia que era possível montar um 
// array com um arquivo de texto, o problema é que
// o espaço e o pulo da linha altera o tamanho dos elementos
// e isso provoca uma baita diferença no comando array_diff.

 

Editado por Frank K Hosaka
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...