Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Pessoal, bom dia
Tenho um array multidimensional chamado cesta, com as seguintes posicoes (qtdpax, evento, categoria, data,nome_categoria)
Gostaria de saber como faco para
1) Comparar se existem eventos diferentes na posicao evento...Ex: o array vem com 6 preenchimentos conforme abaixo e constam os eventos X,Y,Z ou consta somente o evento X
2) Como comparar qual a posicao tem o menor qtdpax?
Sei que deve ser uma duvida simples, talvez resolva com foreach mas nao to sabendo percorrer todo o array e comparar as posicoes.
Array
(
[0] => Array
(
[qtdpax] => 1
[evento] => 5
[categoria] => 52
[data] => 2018-03-23
[nome_categoria] => TRANSFER TRANSAMÉRICA HIGIENÓPOLIS - AUTÓDROMO DE INTERLAGOS - TRANSAMÉRICA HIGIENÓPOLIS - SAÍDA ÀS 12H30
)
[1] => Array
(
[qtdpax] => 1
[evento] => 5
[categoria] => 38
[data] => 2018-03-24
[nome_categoria] => TRANSFER HILTON MORUMBI - AUTÓDROMO DE INTERLAGOS - HILTON MORUMBI - SAÍDA ÀS 12H30
)
[2] => Array
(
[qtdpax] => 4
[evento] => 5
[categoria] => 38
[data] => 2018-03-25
[nome_categoria] => TRANSFER HILTON MORUMBI - AUTÓDROMO DE INTERLAGOS - HILTON MORUMBI - SAÍDA ÀS 12H30
)
[3] => Array
(
[qtdpax] => 1
[evento] => 5
[categoria] => 55
[data] => 2018-03-23
[nome_categoria] => TRANSFER TRANSAMÉRICA HIGIENÓPOLIS - AUTÓDROMO DE INTERLAGOS - TRANSAMÉRICA HIGIENÓPOLIS - SAÍDA ÀS 14H45
)
[4] => Array
(
[qtdpax] => 2
[evento] => 6
[categoria] => 78
[data] => 2018-05-24
[nome_categoria] => CONVIDADOS - 1º LOTE
)
[5] => Array
(
[qtdpax] => 1
[evento] => 10
[categoria] => 34
[data] => 2018-04-04
[nome_categoria] => TRANSFER GRAND HYATT - EVENTO - GRAND HYATT
)
[6] => Array
(
[qtdpax] => 4
[evento] => 10
[categoria] => 35
[data] => 2018-04-03
[nome_categoria] => TRANSFER NOVOTEL BARRA - EVENTO - NOVOTEL BARRA
)
)Olá!
Veja se isso te ajuda.
<?php // Com array_column você separa apenas a coluna que precisar: qtdpax
$qtdpaxes = array_column($arrays, 'qtdpax');
// com asort você ordena do menor para o maior
asort($qtdpaxes);
// mostra os qtdpaxes na tela:
print_r($qtdpaxes);
/* os menores são os índices zero, um, três e cinco
Array
(
[0] => 1
[1] => 1
[3] => 1
[5] => 1
[4] => 2
[2] => 4
[6] => 4
)// Com array_column você separa apenas a coluna que precisar: evento
$eventos = array_column($arrays, 'evento');
// Com array_unique você remove os valores duplicados
print_r(array_unique($eventos));
/* Os eventos, sem repetição são o cinco, seis e o 10
Array
(
[0] => 5
[4] => 6
[5] => 10
)// Com array_count_values você conta quantas vezes um valor se repete
print_r(array_count_values($eventos));
/* o evento cinco se repete 4 vezes, o seis não se repete, o dez se repete 2 vezes
Array
(
[5] => 4
[6] => 1
[10] => 2
)Para saber mais sobre arrays, visite: http://php.net/manual/pt_BR/ref.array.php
Perfeito, obgrigado @washalbano
Alguém me ajuda?