Gå til innhold

Løkke i en variabel, mulig?


Anbefalte innlegg

Skrevet (endret)

Jeg lurer på om det var mulig å plassere en while-løkke i en variabel, slik at når jeg gjenbruker en variabel, så vil hele hele løkken komme ut, når jeg f.eks skriver echo $while;

 

Noen som vet?

 

Edit: Jeg vet at en funksjon gjør jobben, men det må være en variabel i mitt tilfelle.

Endret av danielrealized
Videoannonse
Annonse
Skrevet (endret)

Hvorfor ikke bruke en function ?

 

Edit: Åja. Kan du gi noe eksempel på hvorfor du må ha det inne i en variabel?

Endret av laserlars
Skrevet

Hvorfor ikke bruke en function ?

 

Edit: Åja. Kan du gi noe eksempel på hvorfor du må ha det inne i en variabel?

 

Skal få innholdet i denne funksjonen:

 

sendMsg($serverTime, $content);

 

Fungerer

 

sendMsg($serverTime, content());

 

Fungerer ikke

Skrevet

Hva skal funksjonen gjøre? Hva slags verdier skal funksjonen ta? Det er vanskelig å hjelpe deg uten mer informasjon.

 

Min første tanke er at du prøver å løse dette problemet på gal måte. Sett deg ned og se på alternative løsninger.

  • Liker 1
Skrevet (endret)

Jeg lurer på om det var mulig å plassere en while-løkke i en variabel, slik at når jeg gjenbruker en variabel, så vil hele hele løkken komme ut, når jeg f.eks skriver echo $while;

 

Dette er jo eksakt hvorfor man bruker funksjoner.

 

 

&--#60;?php
function while_loop() {
$i = 0;
$str = '';
while ($i &--#60;= 10) {
 $str .= $i.',';
 $i++;
}

return substr($str,0,strlen($str)-1);
}
echo while_loop();
?&--#62;

 

 

Forklar meg hvordan det er annerledes enn hva du spør etter. Og for å besvare spørsmålet ditt; nei det er ikke mulig. I Javacript har man denne muligheten, men ikke i PHP, så vidt jeg vet i alle fall.

Endret av TheClown
Skrevet (endret)

Problemet er vel at han forsøker å sette en funksjon som et parameter i en annen funksjon.

Mulig du kan løse dette ved å returnere innholdet fra funksjonen til en variabel for så å sette denne variablen til funksjonen slik du illustrerer:

function content()
{
while(){
	$while .= 'contents';
}
return $while;
}
$content = content()
sendMsg($serverTime, $content);

Endret av Yawa
Skrevet (endret)

ja vil det ikke det da?

 

Dette vil ikke funke pga, content() er en funksjon. Ikke mulig å benytte en funksjon som parameter i annen funksjon:

sendMsg($serverTime, content());

Derfor kan en løsning være å sette resultatet til content()-funksjonen til en variabel slik at den kan benyttes som et parameter i sendMsg()-funksjonen:

sendMsg($serverTime, $content);

Men det kommer jo litt an på hva content() returnerer da.

Mye mulig han må kjøre en foreach-loop på responsen for å dele opp resultatet igjen...

Endret av Yawa
Skrevet

<?php
function foo () {
return 'foo';
}
function bar ($a,$b) {
return $a.'-'.$b;
}
echo bar(foo(),'bar');
?>

 

Outputter: foo-bar

 

Ingen errors eller warnings.

Skrevet

Åja, men da skjønner jeg ikke helt hva som var problemet...

Mulig dataen som returneres fra content()-funksjonen ikke samsvarer med forventet data i sendMsg()...

Skrevet

Tror TS er interessert i å benytte content som en delegate/funksjonspeker

Isåfall er vel call_user_func det som er itneressant. Men jeg tror at det er bedre å løse problemet på en annen måte.

Skrevet

Da avventer vi til TS har utdypet spørsmålet sitt, eller godtatt noen av eksemplene som har kommet.

 

Jeg mener fortsatt at det som er foreslått burde fungere uten problemer. call_user_func har jeg aldri brukt på mine 10 år med programmering i alle fall. Det finnes alltid en annen (og bedre) måte enn den :)

Skrevet

Takk for veldig mange gode råd. :) Jeg hadde tenkt helt feil og måtte tenke annerledes. Jeg bruker SSE og det var i grunn bare å legge inn verdiene i en definert variabel.. $msg = file_get_contents... enn å bruke sendMsg()..

Skrevet
Dette vil ikke funke pga, content() er en funksjon. Ikke mulig å benytte en funksjon som parameter i annen funksjon

 

Tullsnakk. Selvsagt kan man bruke en funksjon som paramter. Den må bare returnere data.

Skrevet
Dette vil ikke funke pga, content() er en funksjon. Ikke mulig å benytte en funksjon som parameter i annen funksjon

 

Tullsnakk. Selvsagt kan man bruke en funksjon som paramter. Den må bare returnere data.

Da bruker du ikke en funksjon som parameter; du bruker verdien den returnerte som parameter. Stor forskjell.

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...