Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Tenho este script:
$textos = explode("|", $textos);
$valores = explode("|", $valores);
foreach(array_combine($textos, $valores) as $texto => $valor){
Mas preciso acrescentar outras variáveis:
$textos = explode("|", $textos);
$valores = explode("|", $valores);
$vendedores = explode(",", $vendedores);
$vendedores_largura = explode(",", $vendedores_largura);
foreach(array_combine($textos, $valores) as $texto => $valor){
Como fica o array_combine nesta situação?Marcos, eu pego os valores deste query:
SELECT GROUP_CONCAT(valor SEPARATOR '|') as valores, GROUP_CONCAT(tipo SEPARATOR '|') as tipos, GROUP_CONCAT(texto SEPARATOR '|') as textos, ano FROM cases GROUP BY ano ORDER BY ano DESC
E exibo eles na página, agrupados por ano:
<?php
foreach($cases_result as $row) {
$ano = $row->ano;
$textos = $row->textos;
$valores = $row->valores;
$tipos = $row->tipos;
?>
<tr class="year">
<td class="year" colspan="3"><?php echo $ano; ?></td>
</tr>
<?php
$textos = explode("|", $textos);
$valores = explode("|", $valores);
$tipos = explode("|", $tipos);
foreach(array_combine($textos, $valores) as $texto => $valor){
?>
<?php echo $texto; ?>
<?php echo $valores; ?>
<?php echo $tipos; ?>
<?php } ?>
<?php } ?>você poderia fazer a query da seguinte forma:
SELECT * FROM cases ORDER BY ano DESC
então seguiria com o seguinte PHP
$years = array();
while ($row = mysql_fetch_assoc($result))
{
if (!isset($years[$row['ano']]))
{
$years[$row['ano']] = array();
}
$years[$row['ano']][] = $row;
}
e terminaria com o HTML
<?php foreach($years as $key => $value) : ?>
<tr class="year">
<td class="year" colspan="3"><?php echo $key; ?></td>
</tr>
<?php foreach ($value as $key_2 => $value_2) : ?>
<?php echo $value_2['texto']; ?>
<?php echo $value_2['valor']; ?>
<?php echo $value_2['tipo']; ?>
<?php endforeach; ?>
<?php endforeach; ?>Marcos, obrigado.
Eu realmente preciso usar o GROUP_BY
Mas encontrei uma solução: array_map().
precisamos entender melhor a finalidade do seu código, pois pode haver alguma alternativa mais simples para o seu problema.