[ create a new paste ] login | about

Link: http://codepad.org/fOdA0hca    [ raw code | output | fork ]

PHP, pasted on May 28:
<?php

class foo
{
  public $idx;
  public $data;
}

function compare_foos ($a, $b)
{
  if ($a->data == $b->data)
    return 0;
  elseif ($a->data < $b->data)
    return -1;
  else
    return 1;
}

$mylist = Array ();

for ($i=0; $i < 10; ++$i)
{
  $mylist[$i] = new foo ();
  $mylist[$i]->idx = $i;
  $mylist[$i]->data = rand() % 20;
}

print_r ($mylist);
usort ($mylist, compare_foos);
echo "<HR>";
print_r ($mylist);


Output:
Array
(
    [0] => foo Object
        (
            [idx] => 0
            [data] => 4
        )

    [1] => foo Object
        (
            [idx] => 1
            [data] => 18
        )

    [2] => foo Object
        (
            [idx] => 2
            [data] => 16
        )

    [3] => foo Object
        (
            [idx] => 3
            [data] => 12
        )

    [4] => foo Object
        (
            [idx] => 4
            [data] => 19
        )

    [5] => foo Object
        (
            [idx] => 5
            [data] => 1
        )

    [6] => foo Object
        (
            [idx] => 6
            [data] => 3
        )

    [7] => foo Object
        (
            [idx] => 7
            [data] => 2
        )

    [8] => foo Object
        (
            [idx] => 8
            [data] => 19
        )

    [9] => foo Object
        (
            [idx] => 9
            [data] => 4
        )

)
<HR>Array
(
    [0] => foo Object
        (
            [idx] => 5
            [data] => 1
        )

    [1] => foo Object
        (
            [idx] => 7
            [data] => 2
        )

    [2] => foo Object
        (
            [idx] => 6
            [data] => 3
        )

    [3] => foo Object
        (
            [idx] => 0
            [data] => 4
        )

    [4] => foo Object
        (
            [idx] => 9
            [data] => 4
        )

    [5] => foo Object
        (
            [idx] => 3
            [data] => 12
        )

    [6] => foo Object
        (
            [idx] => 2
            [data] => 16
        )

    [7] => foo Object
        (
            [idx] => 1
            [data] => 18
        )

    [8] => foo Object
        (
            [idx] => 4
            [data] => 19
        )

    [9] => foo Object
        (
            [idx] => 8
            [data] => 19
        )

)


Create a new paste based on this one


Comments: