Jump to content


Photo

Ordenar Array [resolvido]


  • Faça o login para participar
3 replies to this topic

#1 Alexandre V. Oliveira

Alexandre V. Oliveira

    Novato no fórum

  • Usuários
  • 10 posts
  • Sexo:Não informado

Posted 30/10/2008, 21:02

Olá pessoal..

estou precisando ordenar os registros do seguinte array pelo 'nome' de cada registro.. e não to conseguindo.. :glare:

[nome]=> cliente pessoa jur  [email] => clietne@asldkf.com [telefone] => 999939383983 [endereco] => av,ass fsadf asdfa sdf asdfkasjdf [bairro] => klsfdjaslkfd j [cep] => 74000000 [pais] => br [estado] => goias [cidade] => goiania [caixaPostal] => 99999 [ativo] => 1 [Pessoa_idPessoa] => 5 [fax] => fazz9098098 [login] => jjjjj [senha] => jj [permissoes] => [banco] => banco do brasil [agencia] => 8484848 [contaCorrente] => kjh777777 [site] => w.w.w..w.w [obs] => salkfjsa fjsçdklfjasd f [Cliente_Pessoa_idPessoa] => 5 [cnpj] => 9999999999 [razaoSocial] => cliente SA [inscEstadual] => 742389487b236 [inscMunicipal] => lkhsadkj73736 ) 

[1] => Array ( [idPessoa] => 25 [nome] => Empresa ABC [email] => [telefone] => 39874238947 [endereco] => endereçoo [bairro] => bairooo [cep] => 42048293 [pais] => [estado] => goias [cidade] => gyn [caixaPostal] => [ativo] => [Pessoa_idPessoa] => 25 [fax] => [login] => [senha] => [permissoes] => [banco] => HSBC [agencia] => 88 [contaCorrente] => 93939 [site] => [obs] => [Cliente_Pessoa_idPessoa] => 25 [cnpj] => 3387564754/0001-7 [razaoSocial] => Empresa ABC SA [inscEstadual] => [inscMunicipal] => )

[2] => Array ( [idPessoa] => 3 [nome]=> cliente pessoa fisica [email] => clietne@asldkf.com [telefone] => 999939383983 [endereco] => av,ass fsadf asdfa sdf asdfkasjdf [bairro] => klsfdjaslkfd j [cep] => 74000000 [pais] => br [estado] => goias [cidade] => goiania [caixaPostal] => [ativo] => 1 [Pessoa_idPessoa] => 3 [fax] => [login] => [senha] => [permissoes] => [banco] => banco do brasil [agencia] => 8484848 [contaCorrente] => 8383838 [site] => [obs] => [Cliente_Pessoa_idPessoa] => 3 [cpf] => 9999999999 [celular] => 9939399393 [dataAniversario] => 10/10/1987 )

[3] => Array ( [idPessoa] => 24 [nome] => teste [email] => [telefone] => 87676876 [endereco] => sdkjhfsdkfjh [bairro] => dksjhfdsklfjh [cep] => 43545345 [pais] => [estado] => asdkfjh [cidade] => dsfakljdhflkjsdh [caixaPostal] => [ativo] => 1 [Pessoa_idPessoa] => 24 [fax] => [login] => [senha] => [permissoes] => [banco] => kjhkjh [agencia] => 98098 [contaCorrente] => 8786786876 [site] => [obs] => [Cliente_Pessoa_idPessoa] => 24 [cpf] => 77777 [celular] => [dataAniversario] => 00/00/0000 )
) _linenums:0'>Array ( [0] => Array ( [idPessoa] => 5 <strong class='bbc'>[nome]</strong>=> cliente pessoa jur [email] => clietne@asldkf.com [telefone] => 999939383983 [endereco] => av,ass fsadf asdfa sdf asdfkasjdf [bairro] => klsfdjaslkfd j [cep] => 74000000 [pais] => br [estado] => goias [cidade] => goiania [caixaPostal] => 99999 [ativo] => 1 [Pessoa_idPessoa] => 5 [fax] => fazz9098098 [login] => jjjjj [senha] => jj [permissoes] => [banco] => banco do brasil [agencia] => 8484848 [contaCorrente] => kjh777777 [site] => w.w.w..w.w [obs] => salkfjsa fjsçdklfjasd f [Cliente_Pessoa_idPessoa] => 5 [cnpj] => 9999999999 [razaoSocial] => cliente SA [inscEstadual] => 742389487b236 [inscMunicipal] => lkhsadkj73736 ) [1] => Array ( [idPessoa] => 25 <strong class='bbc'>[nome] </strong>=> Empresa ABC [email] => [telefone] => 39874238947 [endereco] => endereçoo [bairro] => bairooo [cep] => 42048293 [pais] => [estado] => goias [cidade] => gyn [caixaPostal] => [ativo] => [Pessoa_idPessoa] => 25 [fax] => [login] => [senha] => [permissoes] => [banco] => HSBC [agencia] => 88 [contaCorrente] => 93939 [site] => [obs] => [Cliente_Pessoa_idPessoa] => 25 [cnpj] => 3387564754/0001-7 [razaoSocial] => Empresa ABC SA [inscEstadual] => [inscMunicipal] => ) [2] => Array ( [idPessoa] => 3 <strong class='bbc'>[nome]</strong>=> cliente pessoa fisica [email] => clietne@asldkf.com [telefone] => 999939383983 [endereco] => av,ass fsadf asdfa sdf asdfkasjdf [bairro] => klsfdjaslkfd j [cep] => 74000000 [pais] => br [estado] => goias [cidade] => goiania [caixaPostal] => [ativo] => 1 [Pessoa_idPessoa] => 3 [fax] => [login] => [senha] => [permissoes] => [banco] => banco do brasil [agencia] => 8484848 [contaCorrente] => 8383838 [site] => [obs] => [Cliente_Pessoa_idPessoa] => 3 [cpf] => 9999999999 [celular] => 9939399393 [dataAniversario] => 10/10/1987 ) [3] => Array ( [idPessoa] => 24 <strong class='bbc'>[nome]</strong> => teste [email] => [telefone] => 87676876 [endereco] => sdkjhfsdkfjh [bairro] => dksjhfdsklfjh [cep] => 43545345 [pais] => [estado] => asdkfjh [cidade] => dsfakljdhflkjsdh [caixaPostal] => [ativo] => 1 [Pessoa_idPessoa] => 24 [fax] => [login] => [senha] => [permissoes] => [banco] => kjhkjh [agencia] => 98098 [contaCorrente] => 8786786876 [site] => [obs] => [Cliente_Pessoa_idPessoa] => 24 [cpf] => 77777 [celular] => [dataAniversario] => 00/00/0000 ) )


O Array ordenado pelo nome seria:

[nome] => cliente pessoa fisica [email] => clietne@asldkf.com [telefone] => 999939383983 [endereco] => av,ass fsadf asdfa sdf asdfkasjdf [bairro] => klsfdjaslkfd j [cep] => 74000000 [pais] => br [estado] => goias [cidade] => goiania [caixaPostal] => [ativo] => 1 [Pessoa_idPessoa] => 3 [fax] => [login] => [senha] => [permissoes] => [banco] => banco do brasil [agencia] => 8484848 [contaCorrente] => 8383838 [site] => [obs] => [Cliente_Pessoa_idPessoa] => 3 [cpf] => 9999999999 [celular] => 9939399393 [dataAniversario] => 10/10/1987 ) 

[1] => Array ( [idPessoa] => 5 [nome] => cliente pessoa jur [email] => clietne@asldkf.com [telefone] => 999939383983 [endereco] => av,ass fsadf asdfa sdf asdfkasjdf [bairro] => klsfdjaslkfd j [cep] => 74000000 [pais] => br [estado] => goias [cidade] => goiania [caixaPostal] => 99999 [ativo] => 1 [Pessoa_idPessoa] => 5 [fax] => fazz9098098 [login] => jjjjj [senha] => jj [permissoes] => [banco] => banco do brasil [agencia] => 8484848 [contaCorrente] => kjh777777 [site] => w.w.w..w.w [obs] => salkfjsa fjsçdklfjasd f [Cliente_Pessoa_idPessoa] => 5 [cnpj] => 9999999999 [razaoSocial] => cliente SA [inscEstadual] => 742389487b236 [inscMunicipal] => lkhsadkj73736 )

[2] => Array ( [idPessoa] => 25 [nome]=> Empresa ABC [email] => [telefone] => 39874238947 [endereco] => endereçoo [bairro] => bairooo [cep] => 42048293 [pais] => [estado] => goias [cidade] => gyn [caixaPostal] => [ativo] => [Pessoa_idPessoa] => 25 [fax] => [login] => [senha] => [permissoes] => [banco] => HSBC [agencia] => 88 [contaCorrente] => 93939 [site] => [obs] => [Cliente_Pessoa_idPessoa] => 25 [cnpj] => 3387564754/0001-7 [razaoSocial] => Empresa ABC SA [inscEstadual] => [inscMunicipal] => )

[3] => Array ( [idPessoa] => 24 [nome] => teste [email] => [telefone] => 87676876 [endereco] => sdkjhfsdkfjh [bairro] => dksjhfdsklfjh [cep] => 43545345 [pais] => [estado] => asdkfjh [cidade] => dsfakljdhflkjsdh [caixaPostal] => [ativo] => 1 [Pessoa_idPessoa] => 24 [fax] => [login] => [senha] => [permissoes] => [banco] => kjhkjh [agencia] => 98098 [contaCorrente] => 8786786876 [site] => [obs] => [Cliente_Pessoa_idPessoa] => 24 [cpf] => 77777 [celular] => [dataAniversario] => 00/00/0000 )
) _linenums:0'>Array ( [0] => Array ( [idPessoa] => 3 <strong class='bbc'>[nome] </strong>=> cliente pessoa fisica [email] => clietne@asldkf.com [telefone] => 999939383983 [endereco] => av,ass fsadf asdfa sdf asdfkasjdf [bairro] => klsfdjaslkfd j [cep] => 74000000 [pais] => br [estado] => goias [cidade] => goiania [caixaPostal] => [ativo] => 1 [Pessoa_idPessoa] => 3 [fax] => [login] => [senha] => [permissoes] => [banco] => banco do brasil [agencia] => 8484848 [contaCorrente] => 8383838 [site] => [obs] => [Cliente_Pessoa_idPessoa] => 3 [cpf] => 9999999999 [celular] => 9939399393 [dataAniversario] => 10/10/1987 ) [1] => Array ( [idPessoa] => 5 <strong class='bbc'>[nome]</strong> => cliente pessoa jur [email] => clietne@asldkf.com [telefone] => 999939383983 [endereco] => av,ass fsadf asdfa sdf asdfkasjdf [bairro] => klsfdjaslkfd j [cep] => 74000000 [pais] => br [estado] => goias [cidade] => goiania [caixaPostal] => 99999 [ativo] => 1 [Pessoa_idPessoa] => 5 [fax] => fazz9098098 [login] => jjjjj [senha] => jj [permissoes] => [banco] => banco do brasil [agencia] => 8484848 [contaCorrente] => kjh777777 [site] => w.w.w..w.w [obs] => salkfjsa fjsçdklfjasd f [Cliente_Pessoa_idPessoa] => 5 [cnpj] => 9999999999 [razaoSocial] => cliente SA [inscEstadual] => 742389487b236 [inscMunicipal] => lkhsadkj73736 ) [2] => Array ( [idPessoa] => 25 <strong class='bbc'>[nome]</strong>=> Empresa ABC [email] => [telefone] => 39874238947 [endereco] => endereçoo [bairro] => bairooo [cep] => 42048293 [pais] => [estado] => goias [cidade] => gyn [caixaPostal] => [ativo] => [Pessoa_idPessoa] => 25 [fax] => [login] => [senha] => [permissoes] => [banco] => HSBC [agencia] => 88 [contaCorrente] => 93939 [site] => [obs] => [Cliente_Pessoa_idPessoa] => 25 [cnpj] => 3387564754/0001-7 [razaoSocial] => Empresa ABC SA [inscEstadual] => [inscMunicipal] => ) [3] => Array ( [idPessoa] => 24 <strong class='bbc'>[nome] </strong>=> teste [email] => [telefone] => 87676876 [endereco] => sdkjhfsdkfjh [bairro] => dksjhfdsklfjh [cep] => 43545345 [pais] => [estado] => asdkfjh [cidade] => dsfakljdhflkjsdh [caixaPostal] => [ativo] => 1 [Pessoa_idPessoa] => 24 [fax] => [login] => [senha] => [permissoes] => [banco] => kjhkjh [agencia] => 98098 [contaCorrente] => 8786786876 [site] => [obs] => [Cliente_Pessoa_idPessoa] => 24 [cpf] => 77777 [celular] => [dataAniversario] => 00/00/0000 ) )

Tentei as funções de sort do php.. mas nenhuma serviu bem.. ou eu nao soube usar corretamente..
Se alguem puder ajudar,..
vlw!!!

Edição feita por: Alexandre V. Oliveira, 31/10/2008, 10:09.


#2 ffmm

ffmm

    Veterano

  • Usuários
  • 1224 posts
  • Sexo:Não informado

Posted 31/10/2008, 09:45

Acredito que usando usort() seja possível fazer o que você quer. Aqui vai um exemplo:
<?php
$array = array(
	array("id" => 0, "nome" => "Mario"),
	array("id" => 1, "nome" => "Maria"),
	array("id" => 2, "nome" => "Matias"),
	array("id" => 3, "nome" => "Rafael"),
	array("id" => 4, "nome" => "Alan"),
	array("id" => 5, "nome" => "Joao"),
);

function cmp($ar1, $ar2)
{
	return strcasecmp($ar1["nome"], $ar2["nome"]);
}

usort($array, "cmp");

print_r($array);
?>


#3 boirock

boirock

    Tecnologia para todos (agora hexa campeão)

  • Usuários
  • 1559 posts
  • Sexo:Masculino
  • Localidade:Curitiba - PR
  • Interesses:PostgreSQL - PHP

Posted 31/10/2008, 09:55

array_multisort()
Tem um exemplo em português (y)

#4 Alexandre V. Oliveira

Alexandre V. Oliveira

    Novato no fórum

  • Usuários
  • 10 posts
  • Sexo:Não informado

Posted 31/10/2008, 10:09

Valeu ffmm (y) .

assim dá certo msm..

Abs..




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq