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 ?>