Code: Select all
array_intersect($row1, $row2, $row3, $row4, $row5);
is not possible because a row can be empty.
This could be a solution:
Code: Select all
<?php
// ...
// SQL Query
// ...
$row1 = array( "value1" => 1, "value2" => 2, "value3" => 3, "value4" => 4, "value5" => 18 );
$row2 = array( "value1" => 2, "value2" => 6, "value3" => 7, "value4" => 8 );
$row3 = array( "value1" => 2, "value2" => 7, "value3" => 8 );
$row4 = false;
$row5 = array( "value1" => 2, "value2" => 39, "value3" => 80 );
// Create list of non empty arrays
$list = array();
for( $i = 1; $i <= 5; $i++ ) {
$array_name = "row" .$i;
if( $$array_name != false ) {
$list[] = '$' .$array_name;
}
}
$list = implode(", ", $list);
// Generate code
$code = '$intersection = array_intersect('.$list.');';
eval($code);
// Print number
foreach( $intersection as $value ) echo $value;
?>
It's less code than my previously posted solution but it may be slower because of eval().