Ver Mensaje Individual
  #9 (permalink)  
Antiguo 31/10/2018, 06:15
quico5
 
Fecha de Ingreso: enero-2008
Mensajes: 580
Antigüedad: 16 años, 4 meses
Puntos: 9
Respuesta: array_intersect() no funciona en un if

Opino lo mismo pero estoy desconcertado:

Sacar no comunes con array_diff:
array_diff(['a','b',1,2],[1,2,3,4]):
print_r obtengo ['a','b',3,4]
mientras que con if obtengo ['a','b',1,2,3,4] ejecutandose siempre, me parece imposible porque no evaluo nada más en el if

No lo entiendo

Tambien he probado con los comunes con array_intersect:
array_intersect(['a','b',1,2],[1,2,3,4]), y me pasa lo mismo:
print_r obtengo [1,2]
mientras que con el if obtengo ['a','b',1,2,3,4]

En lugar de comparar 2 arrays, si me funciona comparar un array con una palabra, cosa que me desconcierta, no encuentro que podria estar haciendo mal
Código PHP:
IF y PRINT_R debuelve el mismo resultado esperadopero no compara 2 array
in_array($key,['socio']) 
Todo el código
Código HTML:
 <?php foreach (mysqli_query($cnx,"id_socio,socio,apellidos,edad") as $table): ?>
			<tr>
				<?php foreach ($table as $key => $value): ?>
					<td>
------------->				<?php if (array_diff($table,['socio','apellidos'])): ?>
							<a href="<?= S.$cont.S.'ver'.S.$table['socio'].S.$table['apellidos'] ?>">
								<?php if ($key=='edad'): ?>
									<?=date_diff(date_create($value),date_create(date('Y-m-d')))->format('%y')?>
								<?php else: ?>
									<?=$value?>
								<?php endif ?>
							</a>
						<?php else: ?>
							<?php if ($key=='edad'): ?>
								<?=date_diff(date_create($value),date_create(date('Y-m-d')))->format('%y')?>
							<?php else: ?>
								<?=$value?>
							<?php endif ?>
						<?php endif ?>
					</td>
				<?php endforeach ?>
			</tr>
		<?php endforeach ?> 

Última edición por quico5; 31/10/2018 a las 07:22