Ver Mensaje Individual
  #8 (permalink)  
Antiguo 31/10/2018, 06:12
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
	$cols=['*','id_socio,socio,apellidos,edad,colegio','tel&eacute;fono'][1];

	if (isset($args[1]))
		if (strpos($_SERVER['QUERY_STRING'],'edad')){
			if ($args[1]=='asc') $query="SELECT $cols FROM $cont ORDER BY $args[0] ASC";
			if ($args[1]=='desc') $query="SELECT $cols FROM $cont ORDER BY $args[0] DESC";
		}else{
			if ($args[1]=='desc') $query="SELECT $cols FROM $cont ORDER BY $args[0] ASC";
			if ($args[1]=='asc') $query="SELECT $cols FROM $cont ORDER BY $args[0] DESC";
		}
	else $query="SELECT $cols FROM $cont";
	
?>
<?php #SHOW COLUMNS FROM $cont ?>
<?php #strncmp($value,'id_',3)&&print(str_replace('_',' ',ucfirst($value))).'<br>'; ?>

<table class="table table-striped table-dark">
	<thead class="">
		<?php foreach (mysqli_query($cnx,"SELECT $cols FROM $cont LIMIT 1") as $table): ?>
			<tr>
				<?php foreach (array_keys($table) as $value): ?>
					<th>
						<a href="<?= S.$cont.S.$metd.S.$value.S.(isset($args[1])&&$args[1]=='desc'?'asc':'desc') ?>">
							<?php strncmp($value,'id_',3)&&print(str_replace(['_','Socio'],[' ','Nombre'],ucfirst($value))) ?>
						</a>
					</th>
				<?php endforeach ?>
			</tr>
		<?php endforeach ?>
	</thead>
	<tbody>
		<?php foreach (mysqli_query($cnx,$query) as $table): ?>
			<tr>
				<?php foreach ($table as $key => $value): ?>
					<td>
						<?php if (in_array($key,['socio'])): ?>
							<a href="<?= S.$cont.S.'ver'.S.str_replace(' ','_',$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 ?>
		<tr></tr>
	</tbody>
</table>