Avatar billede cmau Nybegynder
16. november 2005 - 16:13 Der er 22 kommentarer og
1 løsning

lave funktion og return flere variabler?

Hejsa

Jeg har den her funktion, som jeg leger med:

<?
function ads($keywords,$type) {
$keyword = explode(",", $keywords);

$ads = implode("<br>", $keyword);

$ads .= '<br>';
return $ads;
}
?>


Hvordan kan jeg gøre sådan at jeg kan smide noget ind i den (Det kan jeg jo allerede), men så for at udsrkive igen har jeg fået return flere variabler, som jeg kan placere hvor jeg vil på siden?

Er det muligt? Hvis ja, hvordan?
Avatar billede jaw Nybegynder
16. november 2005 - 16:14 #1
Hvis jeg forstår dig ret, så er det ikke muligt at returnere flere værdier, nej...
Avatar billede cmau Nybegynder
16. november 2005 - 16:17 #2
Det vil sige at jeg så skal include en fil hver gang jeg vil have det gjort også inden selv angive $keywords,$type ??
Avatar billede jaw Nybegynder
16. november 2005 - 16:20 #3
Nej, altså en funktion bruges jo som:

function blah() {
  $str = "bummelum";
  return $str;
}


echo blah()."<br />";
echo blah()."<br />";

Du kan bare ikke returnere mere end 1 variabel. Men du kan køre funktionen lige så mange gange du vil...
Avatar billede cmau Nybegynder
16. november 2005 - 16:22 #4
Jah, men vil gerne have den til at retunere ca. 3-4 forskellige værdier
Avatar billede jaw Nybegynder
16. november 2005 - 16:22 #5
Det kan du ikke umiddelbart.

return $a;
return $b;
return $c;

vil ikke virke.
Avatar billede cmau Nybegynder
16. november 2005 - 16:24 #6
Så jeg skal include en fil, hvor jeg så inden gør således:

$keywords ="asdsad, dasda ,asd asd asd ,asd asa";
$type = "text";
include('fil.php');
Avatar billede jakobdo Ekspert
16. november 2005 - 16:26 #7
Du kan returnere et array...
Så dermed kan du jo godt returnere flere værdier.
Avatar billede jaw Nybegynder
16. november 2005 - 16:26 #8
Ja, ja, et array kan du returnere. Men hvad vil du opnå med det? Og med dit fil-include? Kan du ikke komme med et eksempel på hvad du vil have der skal ske?
Avatar billede cmau Nybegynder
16. november 2005 - 16:27 #9
jakobdo, kan du give et eksempel på det?
Avatar billede cmau Nybegynder
16. november 2005 - 16:30 #10
Altså det er til reklamer.
Jeg vælger en masse søgeord til $keywords også hvilken type reklamer det skal være i $type.

Så skal funktionen retunere
$link
Hvis så typen er text skal den også retunere:
$text
Hvis så typen er pictures skal den også retunere:
$picurl
$border
Avatar billede miknil Nybegynder
16. november 2005 - 16:34 #11
return new array($link,$text,$picurl)
eller lignende.

return new array("link" => $link , "text"=>$text)
Hvis du skal bruge et associativt array.
Avatar billede cmau Nybegynder
16. november 2005 - 16:35 #12
Hvad er så lige et associativt array?
Avatar billede miknil Nybegynder
16. november 2005 - 16:39 #13
$arr = new array("link" => $link , "text"=>$text);
Du kan så trække enkelt elementer ud med $arr["text"] istedet
for $arr[0]
Avatar billede cmau Nybegynder
16. november 2005 - 17:05 #14
Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `'$'' in c:\programmer\php\www\middagspausen\ads.php on line 16


15.  $row = mysql_fetch_assoc($query);
16.  $a = new array("link" => $row['link'] , "text"=>$row['text'] , "picture"=>$row['picture'], "border"=>$row['border'] , "target"=>$row['target']);
17.  return $a;
Avatar billede cmau Nybegynder
16. november 2005 - 17:20 #15
Hvad gør jeg forkert?
Avatar billede cmau Nybegynder
16. november 2005 - 18:43 #16
Fik det til at virke, men får fejl når jeg udskriver nu:

Array
Notice: Undefined variable: a in c:\programmer\php\www\middagspausen\pages\film.php on line 4
Notice: Undefined variable: a in c:\programmer\php\www\middagspausen\pages\film.php on line 4
Notice: Undefined variable: a in c:\programmer\php\www\middagspausen\pages\film.php on line 4
Notice: Undefined variable: a in c:\programmer\php\www\middagspausen\pages\film.php on line 4

Kode:

<?
echo '<div style="float:right;width:160;text-align:center;">';
echo ads("13bbb,asd,sad,as,d,sd","pictures","140*350");
echo '<a href="'.$style['site']['url'].'out/text/'.$a['id'].'" target="'.$a['target'].'"><img src="'.$a['picture'].'" border="'.$a['border'].'" alt=""></a>';
echo '</div>';
Avatar billede jaw Nybegynder
16. november 2005 - 18:48 #17
Har du defineret $a = ads(.....); ?
Avatar billede cmau Nybegynder
16. november 2005 - 18:58 #18
Hvor skulle jeg have gjort det?
Avatar billede cmau Nybegynder
16. november 2005 - 19:07 #19
Så virker det :P
Avatar billede cmau Nybegynder
16. november 2005 - 19:16 #20
jakobdo, jaw og miknil smider i alle 3 svar, i har alle 3 hjulpet.
Avatar billede jaw Nybegynder
16. november 2005 - 19:26 #21
Ok da :)
Avatar billede jakobdo Ekspert
16. november 2005 - 19:35 #22
Det er jaw's denne!
Avatar billede cmau Nybegynder
17. november 2005 - 09:41 #23
Jamen okay, så får han alle points.
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