---
title: "Class, egen sortering och funktioner"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/100551-class-egen-sortering-och-funktioner"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "Asa"
published: "2004-03-29T09:03:50.000Z"
updated: "2004-03-29T10:22:46.000Z"
replies: 3
views: 269
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/php/100551-class-egen-sortering-och-funktioner"
---

# Class, egen sortering och funktioner

## #1 — Asa, 2004-03-29T09:03Z

Jag skulle vilja ha hjälp att bygga en grej i klass där man hämtar namn från en textfil där namnen står 1 på varje rad och sedan i klassen ska man lägga in namnet i en array och sedan sortera med egenbyggd funktion och spara de sorterade namnen i textfilen och sen ska detta skrivas ut.

Hoppas någon förstår hur jag menar! Här kommer en kod som jag börjat med men jag fattar typ nada hur man ska göra.

```
[b]namn.txt[/b]
Namn 1
Namn 2
Namn 3
Namn 4
Namn 5
Namn 6

[b]sort.php[/b]
<?
$pers = new Person();

$f = @fopen("namn.txt","r");
while(!feof($f)){
  $tmp = fgets($f,100);
  $pers -> setVar($tmp);
}fclose($f);

class Person{
  var $p_namn;

  function Person(){
    
  }
  function setVar($namn){
    $this -> p_namn[] = $namn;
  }
  function sort(){
    for($i=0;$i < Count($namn)-1;++$i){
      for($j=0;$j < Count($namn)-1-$i;++$j){
        if($p_namn[$j] > $p_namn[$j+1]){
          $temp = $p_namn[$j];
          $p_namn[$j] = $p_namn[$j+1];
          $p_namn[$j+1] = $temp;
        }
      }
    }
    for($x=0;$x < Count($namn);$x++){
      echo $this -> $p_namn[$x]."<br>";
    }
  }
}

$pers -> sort();
?>
```

Permalänk: https://www.webforum.nu/p/100551

## #2 — SPiN, 2004-03-29T09:50Z

Varför vill du skriva en egen sorteringsalgoritm? PHP's inbyggda fungerar ju finemang.

```
class Person {
     var $element;

     function Person( $fil ) {
          $this->element = file( $fil );
          sort( $this->element );
     }

     function storlek() {
          return count( $this->element );
     }

     function hämta( $index ) {
          return $this->element[$index];
     }
}

$pers = new Person( "fil.txt" );
for( $i = 0; $i < $pers->storlek(); $i++ ) {
     echo $pers->hämta( $i );
}
```

Permalänk: https://www.webforum.nu/p/1311177

## #3 — Asa, 2004-03-29T09:54Z

Kan vara skoj att ha en egen sådan! Kan ju bara bra att kunna göra en sådan...

Permalänk: https://www.webforum.nu/p/1311180

## #4 — Asa, 2004-03-29T10:22Z

Löste det så här:

```
<?
$pers = new Person();

$f = fopen("namn.txt","r");
while(!feof($f)){
  $namn = fgets($f,100);
  $pers -> setPerson($namn);
}fclose($f);

class Person{
  var $namn;

  function Person(){
    
  }
  function setPerson($namn){
    $this -> namn[] = $namn;
  }
  function getPerson(){
    foreach($this -> namn as $f){
      echo $f."<br>";
    }
  }
  function Sortera(){
    for($i=0;$i < Count($this -> namn)-1;++$i){
      for($j=0;$j < Count($this -> namn)-1-$i;++$j){
        if($this -> namn[$j] > $this -> namn[$j+1]){
          $temp = $this -> namn[$j];
          $this -> namn[$j] = $this -> namn[$j+1];
          $this -> namn[$j+1] = $temp;
        }
      }
    }
    for($x=0;$x < Count($this -> namn);$x++){
      echo $this -> namn[$x]."<br>";
    }
  }
}

$pers -> getPerson();
echo "<br><br>";
$pers -> Sortera();
?>
```

Permalänk: https://www.webforum.nu/p/1311186

---

Tråden på webben: https://www.webforum.nu/amne/php/100551-class-egen-sortering-och-funktioner
