Avatar billede codebase Praktikant
04. april 2001 - 23:52 Der er 15 kommentarer og
1 løsning

funktion der retunere et array ??

er dette muligt ?

dvs. en funktion der retunere et array med nogle værdier !!

noget ala dette her:
<?
Function Eksperten ($value) {
  while($value<100) {
    $value++;
    if ($value==50) $number[50]=$value;
    if ($value==75) $number[75]=$value;
  }
  return \"\".$number;
}
$nyvariabel=Eksperten(10);
$antal=count($nyvariabel);
for($i=0;$i<$antal ;$i++) {
  echo\"$nyvariabel[$i]<br>\";
}
echo\"antal=$antal\";
?>

Hvorfor indeholder variablen antal kun tallet 1 og ikke 2 ??

_codeb@se.

Avatar billede iss Novice
05. april 2001 - 00:25 #1
Øhhh hvis du kun kigger i $nyvariabel[0] -> $nyvariabel[count($nyvariabel)] får du kun et par stykker... men din value har du sat i $nyvariabel[50] og $nyvariabel[75] dem kigger du ikke i... Prøv at lave:
if ($value==50) $number[]=$value;
if ($value==75) $number[]=$value;
istedet for:
if ($value==50) $number[50]=$value;
if ($value==75) $number[75]=$value;


Avatar billede codebase Praktikant
05. april 2001 - 00:39 #2
det er jo ikke lige det jeg spørg om, men rigtigt at jeg ikke benytter plads 0 men plads 51 og 76 (50 , 75) men min count($nyvariabel) skulle retunere et 2 tal, og ikke et 1 tal ???

_codeb@se.
Avatar billede iss Novice
05. april 2001 - 00:43 #3
Du mener at $antal giver 1 og ikke 2?
Avatar billede codebase Praktikant
05. april 2001 - 00:44 #4
yep, og det er jo et problem !
Avatar billede iss Novice
05. april 2001 - 00:46 #5
<?
Function Eksperten ($value) {
  while($value<100) {
    $value++;
    if ($value==50) $number[]=$value;
    if ($value==75) $number[]=$value;
  }
  return $number;
}
$nyvariabel=Eksperten(10);
$antal=count($nyvariabel);
for($i=0;$i<$antal ;$i++) {
  echo\"$nyvariabel[$i]<br>\";
}
echo\"antal=$antal\";
?>
Avatar billede iss Novice
05. april 2001 - 00:47 #6
Husk at \"\".$number tvinger $number til at være en string og ikke en array....
Avatar billede codebase Praktikant
05. april 2001 - 00:47 #7
<?
Function Eksperten ($value) {
  while($value<100) {
    $value++;
    if ($value==50) $number[50]=$value;
    if ($value==75) $number[75]=$value;
  }
  return \"\".$number;
}
$nyvariabel=Eksperten(90);
$antal=count($nyvariabel);
for($i=0;$i<100 ;$i++) {
  echo\"$i $nyvariabel[$i]<br>\";
}
echo\"antal=$antal\";
?>

der er faktisk ingen variabler i mit array ??

_codeb@se.
Avatar billede iss Novice
05. april 2001 - 00:53 #8
Med: $nyvariabel=Eksperten(90); skulle den da meget gerne være tom....
Avatar billede codebase Praktikant
05. april 2001 - 00:55 #9
skulle der ikek ligge 2 variabler i den ??
$nyvariabel[50] skulle da indeholde værdien 50 og
$nyvariabel[75] skulle indeholde værdien 70??

_codeb@se.
Avatar billede iss Novice
05. april 2001 - 00:57 #10
Jo, hvis du ikke laver en: return \"\".$number.
Avatar billede codebase Praktikant
05. april 2001 - 00:58 #11
-->iss rigtigt :)

fejlen er at jeg forsøgt at retunere en string !

det virker nu.
<?
Function Eksperten ($value) {
  while($value<100) {
    $value++;
    if ($value==50) $number[50]=$value;
    if ($value==75) $number[75]=$value;
  }
  return $number;
}
$nyvariabel=Eksperten(10);
$antal=count($nyvariabel);
for($i=0;$i<100 ;$i++) {
  echo\"$i $nyvariabel[$i]<br>\";
}
echo\"0 $nyvariabel[0]<br>\";
echo\"antal=$antal\";
?>


_codeb@se.
Avatar billede iss Novice
05. april 2001 - 01:01 #12
Var det ikke det jeg skrev i mit svar? Eller fik du ikke læst det? her komme en genudsendelse (til dem der ikke kan se TVDanmark eller TV3):
Husk at \"\".$number tvinger $number til at være en string og ikke en array....
Avatar billede iss Novice
05. april 2001 - 01:02 #13
Skal du bruge det til noget? For hvis du vil have andre keys end 0->, altså 50 og 75 som i eksemplet så findes der array_keys der finder alle dine keys til din array.
Avatar billede codebase Praktikant
05. april 2001 - 01:10 #14
jeps, det skal sku\' bruges :9

jeg sad og skrev, da dit svar kom !!

hvad er det su snakker om vedr. array_keys ??
Avatar billede iss Novice
05. april 2001 - 01:17 #15
Som du skrev i dit eksempel:
for($i=0;$i<$antal ;$i++) {
  echo\"$nyvariabel[$i]<br>\";
}
Kunne jo tyde på at du ville have dem udskrevet, det virker bare ikke når det var $nyvariabel[50] og $nyvariabel[75] du ville have fat i... Der kan array_keys hjælpe dig.
for($i=0;$i<$antal ;$i++) {
  $j=array_keys($nyvariabel);
  $k=$j[$i]
  echo\"$nyvariabel[$k]<br>\";
}


Avatar billede iss Novice
05. april 2001 - 01:17 #16
$k=$j[$i] Skulle nok være  $k=$j[$i]; :)))
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