Hallo,
Ik loop tegen het volgende probleem aan en ik vindt maar geen oplossing. Het sorteren van een multidimensionale array wilt mij niet lukken.
Ik heb de volgende stuk code geschreven om een map uit te lezen met foto's en de gegevens van elke foto in een array te plaatsen:
Deze functie geeft dus het ALBUM array terug. Maar deze moet op src gesorteerd worden. Ik heb uiteraard google geprobeerd en de volgende oplossingen getracht toe te passen, maar geen enkele oplossing werkt:
http://codingforums.com/showthread.php?t=71904
http://www.samspublishing...asp?p=31840&seqNum=6&rl=1
Ik krijg elke keer de volgende volgorde te zien:
Wat dus duidelijk niet gesorteerd is.
Waarom wilt dit niet lukken? De webhost draait PHP 4.4 dus dat zou geen probleem moeten zijn.
Ik loop tegen het volgende probleem aan en ik vindt maar geen oplossing. Het sorteren van een multidimensionale array wilt mij niet lukken.
Ik heb de volgende stuk code geschreven om een map uit te lezen met foto's en de gegevens van elke foto in een array te plaatsen:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
| function Album2Array($sAlbum){ $ALBUM = array('src' => array(), 'name' => array(), 'height_init' => array(), 'width_init' => array(), 'height' => array(), 'width' => array()); if(is_dir('./fotos/'.$sAlbum)){ if($rHandle = opendir('./fotos/'.$sAlbum)){ while($sFile = readdir($rHandle)){ $aAllowedExtensions = array('jpg','gif','png','jpeg'); $aFileExplode = explode('.',$sFile); $sFileName = $aFileExplode[0]; $sFileExtension = $aFileExplode[1]; if(in_array($sFileExtension,$aAllowedExtensions)){ $ALBUM['src'][] = $sFile; $ALBUM['name'][] = $sFileName; if(list($iWidthInit, $iHeightInit, $iType, $sAttr) = @getimagesize('./fotos/'.$sAlbum.'/'.$sFile)){ $ALBUM['height_init'][] = $iHeightInit; $ALBUM['width_init'][] = $iWidthInit; if($iWidthInit > 100){ $ALBUM['height'][] = ceil($iHeightInit*(100/$iWidthInit)); $ALBUM['width'][] = 100; }else{ $ALBUM['height'][] = $iHeightInit; $ALBUM['width'][] = $iWidthInit; } }else{ $ALBUM['height_init'][] = 100; $ALBUM['width_init'][] = 100; $ALBUM['height'][] = 100; $ALBUM['width'][] = 100; } } } closedir($rHandle); } } return $ALBUM; } |
Deze functie geeft dus het ALBUM array terug. Maar deze moet op src gesorteerd worden. Ik heb uiteraard google geprobeerd en de volgende oplossingen getracht toe te passen, maar geen enkele oplossing werkt:
http://codingforums.com/showthread.php?t=71904
http://www.samspublishing...asp?p=31840&seqNum=6&rl=1
Ik krijg elke keer de volgende volgorde te zien:
code:
1
2
3
4
5
6
| ["src"]=> array(121) { [0]=> string(12) "_DSD8901.jpg" [1]=> string(12) "_DSD8830.jpg" |
Wat dus duidelijk niet gesorteerd is.
Waarom wilt dit niet lukken? De webhost draait PHP 4.4 dus dat zou geen probleem moeten zijn.