Ver Mensaje Individual
  #4 (permalink)  
Antiguo 29/10/2018, 18:31
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 10 años, 10 meses
Puntos: 379
Respuesta: array_intersect() no funciona en un if

Cita:
Iniciado por quico5 Ver Mensaje
Hola hhs, gracias por responder, aunque me has dejado desconcertado, espero hacerlo mejor ahora

Veamos, la consulta SQL devuelve varias filas, la idea es comparando cada fila con un array adicional como filtro, de tal manera que solo se muestren los campos necesarios, lo raro es que no funcione en el IF, porque el print_r lo hace correctamente

Código PHP:
        <?php foreach (mysqli_query($cnx,$query) as $value): ?>

            <?php print_r(array_intersect(array_keys($value),['id_socio','nombre','apellidos'])) ?>




            <?php if (array_intersect(array_keys($value),['id_socio','nombre','apellidos','edad'])): ?>
                <tr>
                    <?php foreach ($value as $key => $value): ?>
                        <td>
                            <?php if ($key=='edad'): ?>
                                <?=date_diff(date_create($value),date_create(date('Y-m-d')))->format('%y')?>
                            <?php else: ?>
                                <?=$value?>
                            <?php endif ?>
                        </td>
                    <?php endforeach ?>
Esto te marca un error o cual es el problema ?
Por otro lado algo que me llama la atención es que en ningun momento llamas a mysqli_fetch_assoc así que dudo que el print_r se ejecute correctamente.
por ultimo el if va a funcionar mientras intersect regrese un arreglo no vacío, y tienes que tener en cuenta que $value puede valer null y eso va a producir un error.
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.