Código PHP:
<?php print_r(array_intersect(array_keys($value),['id_socio','nombre','apellidos'])) ?>
<?php if(array_intersect(array_keys($value),['id_socio','nombre','apellidos','edad'])): ?>
la función print_r(array_intersect(array_keys())) me devuelve lo esperado

el if if(array_intersect(array_keys()) me devuelve todo a no ser que lo cambie por un false if(false) donde no devolveria nada, pero el filtrado no se aplica

estoy usando la ultima versión de XAMPP