<?php
$input = array(
'0' => array(
'ext' => 'jpg',
'height' => '800',
'md5' => '87167a1952911df64a3b1a423c95b32b',
'id' => 'ddf',
),
'1' => array(
'ext' => 'png',
'height' => '330',
'md5' => '87167a1952911df64a3b1a423c95b32b',
'id' => '117',
),
'2' => array(
'ext' => 'jpg',
'height' => '330',
'md5' => '8d167a1952ds1df64a3b1a423c95b32b',
'id' => '24',
),
'3' => array(
'ext' => 'gif',
'height' => '150',
'md5' => '4a4d993ed7bd7d467b27af52d2aaa800',
'id' => '68',
),
'4' => array(
'ext' => 'jpg',
'height' => '1024',
'md5' => '912ec803b2ce49e4a541068d495ab570',
'id' => '78',
),
'5' => array(
'ext' => 'png',
'height' => '1024',
'md5' => '6a204bd89f3c8348afd5c77c717a097a',
'id' => 'lp',
),
'6' => array(
'ext' => 'jpg',
'height' => '800',
'md5' => 'dce4f98878b0c302cb3de0dcd27d8bc8',
'id' => 'cd',
),
'7' => array(
'ext' => 'png',
'height' => '800',
'md5' => 'ace4f98878b0c302cb3de0dcd27d8bc8',
'id' => 'mmc',
),
'8' => array(
'ext' => 'png',
'height' => '430',
'md5' => 'gce4f98878b0c302cb3de0dcd27d8bc8',
'id' => '115',
),
'9' => array(
'ext' => 'png',
'height' => '150',
'md5' => 'xce4f98878b0c302cb3de0dcd27d8bc8',
'id' => '4568',
),
'10' => array(
'ext' => 'jpg',
'height' => '150',
'md5' => 'cce4f98878b0c302cb3de0dcd27d8bc8',
'id' => '8777',
),
'11' => array(
'ext' => 'gif',
'height' => '400',
'md5' => 'kke4f98878b0c302cb3de0dcd27d8bc8',
'id' => '877',
),
'12' => array(
'ext' => 'bmp',
'height' => '500',
'md5' => '89e4f98878b0c302cb3de0dcd27d8bc8',
'id' => '857',
)
);
$output = array();
$extensionsWeght = array(
'jpg' => 0,
'png' => 1,
'gif' => 2
);
foreach ($input as $v) {
if (!isset($output[$v['height']])) {
//If it's a new height, add it
$output[$v['height']] = $v;
} else {
//else, choose the prefered ext [if they have the same ext, the first entry is already choosen]
if ($extensionsWeght[$output[$v['height']]['ext']] > $extensionsWeght[$v['ext']]) {
$output[$v['height']] = $v;
}
}
}
ksort($output);
print_r($output ) ;
- Output for 7.0.0 - 7.0.20, 7.1.0 - 7.1.33, 7.2.0 - 7.2.33, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.28, 8.2.0 - 8.2.19, 8.3.0 - 8.3.7
- Array
(
[150] => Array
(
[ext] => jpg
[height] => 150
[md5] => cce4f98878b0c302cb3de0dcd27d8bc8
[id] => 8777
)
[330] => Array
(
[ext] => jpg
[height] => 330
[md5] => 8d167a1952ds1df64a3b1a423c95b32b
[id] => 24
)
[400] => Array
(
[ext] => gif
[height] => 400
[md5] => kke4f98878b0c302cb3de0dcd27d8bc8
[id] => 877
)
[430] => Array
(
[ext] => png
[height] => 430
[md5] => gce4f98878b0c302cb3de0dcd27d8bc8
[id] => 115
)
[500] => Array
(
[ext] => bmp
[height] => 500
[md5] => 89e4f98878b0c302cb3de0dcd27d8bc8
[id] => 857
)
[800] => Array
(
[ext] => jpg
[height] => 800
[md5] => 87167a1952911df64a3b1a423c95b32b
[id] => ddf
)
[1024] => Array
(
[ext] => jpg
[height] => 1024
[md5] => 912ec803b2ce49e4a541068d495ab570
[id] => 78
)
)
preferences:
172.85 ms | 406 KiB | 215 Q