$array1 = array(50888 => array('ELEMENTS' => array('1028', '1030')),
50889 => array('ELEMENTS' => array('1048')),
50890 => array('ELEMENTS' => array('1039')),
);
$array2 = array('1028', '1039');
$array3 = array_reduce(array_keys($array1), function($carry, $key) use ($array1, $array2) {
if (count(array_intersect($array1[$key]['ELEMENTS'], $array2)) > 0)
$carry[] = $key;
return $carry;
}, array());
SELECT `t1`.`code`, `t1`.`name`, `t1`.`max_int1`, `t2`.`name`, `t2`.`max_int2`
FROM (
SELECT `t`.`name` AS `name`, `t`.`code` AS `code`, `t`.`int1` AS `max_int1`
FROM (
SELECT `code`, MAX(`int1`) AS `int1`
FROM `table` WHERE `city`= :city GROUP BY `code`
) AS `m`
JOIN `table` AS `t` ON `t`.`city` = :city AND `t`.`code` = `m`.`code`
AND `t`.`int1` = `m`.`int1`
) AS `t1`
JOIN (
SELECT `t`.`name` AS `name`, `t`.`code` AS `code`, `t`.`int2` AS `max_int2`
FROM (
SELECT `code`, MAX(`int2`) AS `int2`
FROM `table` WHERE `city`= :city GROUP BY `code`
) AS `m`
JOIN `table` AS `t` ON `t`.`city` = :city AND `t`.`code` = `m`.`code`
AND `t`.`int2` = `m`.`int2`
) AS `t2` ON `t1`.`code` = `t2`.`code`
if (preg_match_all('/(\d\d)(\S{3})\s+\S+\s+\d+\s+(\S{3})-.*?(\d\d)(\d\d)\s+(\S{3})-.*?ARRIVAL:(\d\d)(\d\d)(?: (\d\d)(\S{3}))?/s',
$data, $matches, PREG_SET_ORDER)) {
foreach($matches as $flight) {
if (!isset($flight[9])) {
$flight[9] = $flight[1];
$flight[10] = $flight[2];
}
list($full, $depDay, $depMonth, $depIATA, $depHour, $depMin,
$arrIATA, $arrHour, $arrMin, $arrDay, $arrMonth) = $flight;
print "$depDay $depMonth $depHour:$depMin $depIATA => $arrDay $arrMonth $arrHour:$arrMin $arrIATA\n";
}
}
function myEncode($value, $alphabet, $length) {
$base = strlen($alphabet);
$encoded = '';
while ($length > 0 && $value > 0) {
$encoded = $alphabet[$value % $base].$encoded;
$value = ($value - $value % $base) /$base;
$length--;
}
while ($length > 0) {
$encoded = $alphabet[0].$encoded;
$length--;
}
return $encoded;
}
$alphabet = 'abcdefghijklmnopqrstuvwxyz';
echo myEncode(2, $alphabet, 3)."\n";
echo myEncode(555, $alphabet, 3)."\n";
function myEncode_1($value) {
return chr(($value - $value % 676) / 676 + 97).
chr(($value % 676 - $value % 26) / 26 + 97).
chr($value % 26 + 97);
}
echo myEncode_1(2)."\n";
echo myEncode_1(555)."\n";
SELECT `g`.`id`, `g`.`name`, `g`.`description`, `g`.`price`, `i`.`images`
FROM `goods` AS `g`
LEFT JOIN (
SELECT `good_id`, GROUP_CONCAT(`link` SEPARATOR ',') AS `images`
FROM `images`
GROUP BY `good_id`
) AS `i` ON `i`.`good_id` = `g`.`id`
WHERE `g`.`id_category` = :category
ORDER BY `g`.`id` DESC;