Avatar billede martin1000ben Nybegynder
15. februar 2005 - 04:47 Der er 6 kommentarer og
1 løsning

array og array_push

Jeg er ved at lave en funktion som lister mine biblioteker og smider dem i et array - men jeg får denne fejl:
Parse error: syntax error, unexpected T_DOUBLE_ARROW in D:\wwwroot\film\index.php on line 15

Linje 15 er denne:
$array = array_push($file => $dir);

Mit mål er at få mit array til at se sådan her ud:
["filnavn"] => ["bibliotek"]

Min funktion:
<?php
function open_dir($dir) {
  $handle = opendir($dir);
  while (($file = readdir($handle)) !== false) {
    if($file != "." && $file != "..") {
      if(stristr($file,"-- ") || stristr($file,"#")) {
        open_dir($dir."/".$file);
      } else {
        if(!is_array($array)) {
      $array = array($file => $dir);
        } else {
      $array = array_push($file => $dir);
        }
    }
  }
  return $array;
}
?>
Avatar billede 7th Praktikant
15. februar 2005 - 05:57 #1
prøv med $array = array_push($array, $file => $dir);
Avatar billede martin1000ben Nybegynder
15. februar 2005 - 06:10 #2
nope desværre samme fejl og linje.
Avatar billede coderdk Praktikant
15. februar 2005 - 10:11 #3
Prøv at erstatte:

$array = array_push($file => $dir);

med:

array_push( $array, array( $file => $dir ) );
Avatar billede martin1000ben Nybegynder
15. februar 2005 - 10:23 #4
Nu er man da kommet ud over fejlen :)
MEN MEN MEN
nu indeholder det array kun 1 linje!
(hvis jeg skriver $file og $dir ud direkte i funktionen kommer der lidt over 400 linjer
Avatar billede coderdk Praktikant
15. februar 2005 - 11:44 #5
Hmmm så lige noget; denne:

    if(!is_array($array)) {
      $array = array($file => $dir);
        } else {
      array_push( $array, array( $file => $dir ) );
        }

Bør være:

      if(!is_array($array)) {
        $array = array();
      }
      array_push( $array, array( $file => $dir ) );
Avatar billede martin1000ben Nybegynder
22. februar 2005 - 00:56 #6
coderdk - nu har jeg fundet ud af fejlen - mig der ikke har set ordentligt efter - havde ikke set du havde fjernet $array foran array_push, men kun det ovenover

Kom med et svar og der er point :)
Avatar billede coderdk Praktikant
22. februar 2005 - 01:12 #7
Yes :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester