Raoni 0 Denunciar post Postado Julho 25, 2007 Bom dia pessoal!!!!Bom tenho um array onde suas chaves nao são sequenciais e minha ordenação nao pode ser alfabetica, e preciso ordernar na seguinte maneira.meu array (ex):[array] => Array{ [maria] = "ola" [joao] = "oi" [jose] = "bom dia" [joana] = "boa tarde"}preciso que ele fique assim:[array] => Array{ [joao] = "oi" [joana] = "boa tarde" [maria] = "ola" [jose] = "bom dia" }alguem tem uma dica de com eu ordenarei dessa maneira???nao se se é realmente ordenar mas sim colocar na posição que eu desejo.Obrigado!!!Raoni Compartilhar este post Link para o post Compartilhar em outros sites
wolfphw 60 Denunciar post Postado Julho 25, 2007 Cara dessa forma que você quer, você precisa fazer isso praticamente manualmente, pois ai naum tem nenhum padrao.... <?php $variavel = array('joao' => 'oi', 'joana' => 'boa tarde', 'maria' => 'ola', 'jose' => 'bom dia');?> Compartilhar este post Link para o post Compartilhar em outros sites
Hamilcar 1 Denunciar post Postado Julho 25, 2007 é isto que o colega acima disse mesmo, você tem de descobrir a lógica para ordenação e aí sim postar algo mais conclusivo. Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Julho 25, 2007 Pelo que pude entender, ksort() soluciona o problema, sem precisar fazer isso manualmente: http://www.php.net/manual/pt_BR/function.ksort.php Abraços, Beraldo Compartilhar este post Link para o post Compartilhar em outros sites
Raoni 0 Denunciar post Postado Julho 25, 2007 Cara dessa forma que você quer, você precisa fazer isso praticamente manualmente, pois ai naum tem nenhum padrao.... <?php $variavel = array('joao' => 'oi', 'joana' => 'boa tarde', 'maria' => 'ola', 'jose' => 'bom dia');?> Entao cara!!! mas esses dados (conteudos), são dinamicos e nao sei eles, somente as chaves.Como faria para eu arrumar as chaves e seus conteudos continuar sendo delas?Obrigado! Compartilhar este post Link para o post Compartilhar em outros sites
wolfphw 60 Denunciar post Postado Julho 25, 2007 entaum devez você colcoar direto, você pode mandar os valores dentro de uma variavel e dai ela vai apara dentro da array <?php $joao = "valor para joao"; $joana = "valor para joana"; $maria = "valor para maria"; $jose = "valor para jose"; $variavel = array('joao' => '$joao', 'joana' => '$joana', 'maria' => '$maria', 'jose' => '$jose');?> Compartilhar este post Link para o post Compartilhar em outros sites
Raoni 0 Denunciar post Postado Julho 25, 2007 entaum devez você colcoar direto, você pode mandar os valores dentro de uma variavel e dai ela vai apara dentro da array <?php $joao = "valor para joao"; $joana = "valor para joana"; $maria = "valor para maria"; $jose = "valor para jose"; $variavel = array('joao' => '$joao', 'joana' => '$joana', 'maria' => '$maria', 'jose' => '$jose');?> esse ta sendo meu maior problema, pois o array é montado dinamicamente, por consultas no bando de dados. e dentro do array tem outros arrays.no exemplo postei, as chaves (maria, joao, ...) na verdade são outros arrays, e preciso colocar esses na ordem que preciso, sera que tem alguma ideia??? pois ele é montado dinamicamente e nao manual... mas eu sei as chaves.obrigado Compartilhar este post Link para o post Compartilhar em outros sites
wolfphw 60 Denunciar post Postado Julho 25, 2007 E quais saum essas chaves que você sabe???Elas sempre vaum ser as mesmas e sempre vaum ser todas utilizadas? Compartilhar este post Link para o post Compartilhar em outros sites
Raoni 0 Denunciar post Postado Julho 25, 2007 E quais saum essas chaves que você sabe???Elas sempre vaum ser as mesmas e sempre vaum ser todas utilizadas?sim... são essas que coloquei como exemplo, joao, maria.... Compartilhar este post Link para o post Compartilhar em outros sites
diegoholiveira 3 Denunciar post Postado Julho 25, 2007 qual é a logica de ordenação?se você souber a logica da ordenação você monta um algoritmo de ordenação.agora, pelo que você disse ate agora não deu pra pegar bem a logica de como os dados serão ordenados. Compartilhar este post Link para o post Compartilhar em outros sites
Raoni 0 Denunciar post Postado Julho 25, 2007 qual é a logica de ordenação?se você souber a logica da ordenação você monta um algoritmo de ordenação.agora, pelo que você disse ate agora não deu pra pegar bem a logica de como os dados serão ordenados.beleza...mas como irei 'ordenar' (arrumar) um array com varios dentro??? considerando que meu array e:[array] => Array{[joao] = "oi"[joana] = "boa tarde"[maria] = "ola"[jose] = "bom dia"}sendo os nomes (joao, joana) meus outros arrays, que tenho que arruma-los, entao, como consigo manipular eles sem que eu perca seus conteudos??entendeu???rs Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Julho 25, 2007 Pensei que fosse só eu que não tinha entendido a lógica dessa ordenação... :rolleyes: Que tipo de ordenação você quer fazer? Se esses valores vêm do banco de dados, não há um campo que possa trazer essas informações já ordenadas? Abraços, Beraldo Compartilhar este post Link para o post Compartilhar em outros sites
Raoni 0 Denunciar post Postado Julho 25, 2007 Pensei que fosse só eu que não tinha entendido a lógica dessa ordenação... :rolleyes: Que tipo de ordenação você quer fazer? Se esses valores vêm do banco de dados, não há um campo que possa trazer essas informações já ordenadas? Abraços, Beraldo entao.. isso eu ja arrumei aki mas nao funcionou! :( pois quando eu faço as consultas, eu passo um array com as tabelas, e ja passo elas ordenadas, mas nao esta retornando corretamente, entao tenho que ordena-las depois, onde estou tendo dificuldades. Essas tabelas que são os arrays filhos, consequentemente são as chaves do array pai. No caso do exemplo [array] => Array { [joao] = "oi" [joana] = "boa tarde" [maria] = "ola" [jose] = "bom dia" } array = array pai nomes [jose, maria] = arrays filhos com seus respectivos dados. vale ressaltar que os filhos nao tem somente um conteudo... e sim um array completo. Entao... qual é minha dificuldade. Poder manipular 'para cima', ou 'para baixo' esses arrays filhos. acho que agora eu expliquei melhor! Abraços Compartilhar este post Link para o post Compartilhar em outros sites
diegoholiveira 3 Denunciar post Postado Julho 26, 2007 mas cara, me desculpe insistir mas eu realmente não entendi essa sua ordenação, vou de dar um exemplo de ordenação assim.suponhamos que venha do meu banco de dados varios resultados de uma enquete, e eu quero ordena-las sendo as opcoes que receberam mais votos em primeiro lugar. pronto, isso aqui é a base de onde eu vou começar a pensar no meu algoritmo de ordenação.isso é que eu não entendi da sua pergunta. tudo bem que você tenha varios vetores dentro de um vetor ou uma matriz. isso não interessa, o que interessa é, qual o objetivo da sua ordenação? aonde você quer chegar com ela? Compartilhar este post Link para o post Compartilhar em outros sites
Raoni 0 Denunciar post Postado Julho 26, 2007 mas cara, me desculpe insistir mas eu realmente não entendi essa sua ordenação, vou de dar um exemplo de ordenação assim.suponhamos que venha do meu banco de dados varios resultados de uma enquete, e eu quero ordena-las sendo as opcoes que receberam mais votos em primeiro lugar. pronto, isso aqui é a base de onde eu vou começar a pensar no meu algoritmo de ordenação.isso é que eu não entendi da sua pergunta. tudo bem que você tenha varios vetores dentro de um vetor ou uma matriz. isso não interessa, o que interessa é, qual o objetivo da sua ordenação? aonde você quer chegar com ela?por exemplo:se tenho meus arrays (filhos) como chaves, maria, joao, josé e joana, quero deixá-los como joao, joana, maria e jose!vamos considerar essa ordenacao!entendeu? Compartilhar este post Link para o post Compartilhar em outros sites
diegoholiveira 3 Denunciar post Postado Julho 26, 2007 não entendi!cara, qual a logica pra que maria, joao, josé e joana fique ordenado como joao, joana, maria e jose???e se eu tiver diego, beraldo, tmferreira como arrays filhos???tem que haver uma logica, um padrão pra que qualquer dado possa ser ordenado seguindo este padrão, e ate agora eu não conseguir visualizar um padrão nesta sua ordenação. uma vez que não é por ordem alfabetica.explica melhor. Compartilhar este post Link para o post Compartilhar em outros sites
Raoni 0 Denunciar post Postado Julho 26, 2007 não entendi!cara, qual a logica pra que maria, joao, josé e joana fique ordenado como joao, joana, maria e jose???e se eu tiver diego, beraldo, tmferreira como arrays filhos???tem que haver uma logica, um padrão pra que qualquer dado possa ser ordenado seguindo este padrão, e ate agora eu não conseguir visualizar um padrão nesta sua ordenação. uma vez que não é por ordem alfabetica.explica melhor.entendi sua duvida!no caso você estra preocupando se tiver chaves diferentes ne? ou que estas a cada hora esteja mudando. Mas nao......sempre tereimaria, joao, josé e joana,e sempre vou deixar eles assim:joao, joana, maria e joseessas chaves nao mudam. (até o um segundo plano!!! rsrs cliente é fogo!)valeu! Compartilhar este post Link para o post Compartilhar em outros sites
diegoholiveira 3 Denunciar post Postado Julho 26, 2007 se elas não mudam você não precisa de um algoritmo de ordenação!!! Compartilhar este post Link para o post Compartilhar em outros sites
Raoni 0 Denunciar post Postado Julho 26, 2007 se elas não mudam você não precisa de um algoritmo de ordenação!!!a principio nao... e sim manipular elas de' um lado para o outro' Compartilhar este post Link para o post Compartilhar em outros sites
Raoni 0 Denunciar post Postado Julho 27, 2007 Ola pessoal!!!!Resolvi meu problema!para criar meu array principal, eu crio um outro array com as chaves na ordem que desejo, e para colocar os dados dentro da principal, uso o laço foreach, com base nesse outro array que foi criado, asism o principal vira na sequencia que preciso!!!!obrigado a todos que de uma forma ou outra me ajudaram...estamos ai para novos desafios!!!Raoni Compartilhar este post Link para o post Compartilhar em outros sites