Array Sorting Question for News System

Posted by lemonpole on Stack Overflow See other posts from Stack Overflow or by lemonpole
Published on 2010-12-28T05:36:12Z Indexed on 2010/12/28 6:54 UTC
Read the original article Hit count: 258

Filed under:
|
|

Hello all. I'm currently stuck trying to figure out how to sort my array files. I have a simple news posting system that stores the content in seperate .dat files and then stores them in an array. I numbered the files so that my array can sort them from lowest number to greatest; however, I have run into a small problem. To begin here is some more information on my system so that you can understand it better.

The function that gathers my files is:

function getNewsList() {
        $fileList = array();
        // Open the actual directory
        if($handle = opendir(ABSPATH . ADMIN . "data")) {
            // Read all file from the actual directory
            while($file = readdir($handle))  {
                if(!is_dir($file)) {
                    $fileList[] = $file;
                }
            }
        }
        // Return the array.
        return $fileList;
    }

On a seperate file is the programming that processes the news post. I didn't post that code for simplicity's sake but I will explain how the files are named. The files are numbered and the part of the post's title is used... for the numbering I get a count of the array and add "1" as an offset. I get the title of the post, encode it to make it file-name-friendly and limit the amount of text so by the end of it all I end up with:

// Make the variable that names the file that will contain
  // the post.
  $filename = "00{$newnumrows}_{$snipEncode}";

When running print_r on the above function I get:

Array (
     [0] => 0010_Mira_mi_Soledad.dat
     [1] => 0011_WOah.dat
     [2] => 0012_Sinep.dat
     [3] => 0013_Living_in_Warfa.dat
     [4] => 0014_Hello.dat
     [5] => 001_AS.dat
     [6] => 002_ASASA.dat
     [7] => 003_SSASAS.dat
     ...
     [13] => 009_ASADADASADAFDAF.dat
)

And this is how my content is displayed. For some reason according to the array sorting 0010 comes before 001...? Is there a way I can get my array to sort 001 before 0010?

© Stack Overflow or respective owner

Related posts about php

Related posts about arrays