Parameter in Funktion reduzieren, aber wie****

tina33333

Mitglied
Hi,

stehe schon wieder vor einem Problem. Das Programm soll überprüfen, ob es sich um eine " .com Adresse" handelt. Die u.a. Funktion darf nur drei Parameter enthalten. Da die topleveldomain aber Bestandteil der Url ist, komme ich auf 4 Parameter. Nun weiß ich nicht wie ich den Parameter $tld in die Funktion hineinpacken kann oder was ich sonst machen könnte, damit das Programm mit drei Parametern funktioniert.
Wäre total froh um Lösungen.

PHP:
<?php
$urls = "http://www.yahoo.com"; 
$tld = 'com';
$contents="";
$keywords="";
	echo research ($urls,$tld,$contents,$keywords);

function research ($url,$tld,$content,$keyword) {
$pos = strpos($url, $tld);

if ($pos === false) {
    echo "0";
} else {
    echo "1";
}    
}
?>
 
Zuletzt bearbeitet von einem Moderator:
Bitte, bitte den Code in Zukunft in [PHP]mein Code[/PHP] setzen

Warum darf die Funktion keine 4 Paramter haben?

Du kannst auch die Definition der Funktion ignorieren und trotzem 4 Paramters mitgeben und diese in der Funktion auswerten
PHP:
//Funktionsaufruf mit 5 Paramtern
//Ausgabe ist 17. Also 1 + 16
echo test(1,2,4,8,16);

//Funktion mit 3 definierten Paramtern
function test($p1, $p2, $p3){
    $params = func_get_args();
    //Erste und Letzter Paramter zusammenzählen
    return $p1 +  $params[func_num_args()-1];
//gibt das gleiche
//  return $p1 + func_get_arg(func_num_args()-1);
}
 
Guten Morgen Yaslaw,

danke für deine rasche Antwort, jedoch hilft mir diese nicht richtig weiter. Mein Problem ist, dass meine Funktion mit 4 Parametern ja gut funktionieren würde, ich aber die Vorgabe habe, nur 3 Parameter ($url, $content und $keyword) zu verwenden. Ich weiß jetzt nicht, wie ich das Programm umändern muss, damit es den Vorgaben entspricht.
 
Was soll den $keyword und $content beinhalten?
Ansonsten hast du keinen Anhaltspunkt um das com zu definieren. Ausser du codierst es hart in den Code oder arbeitest mit einer globalen Variabel. Beide Lösungen sind nicht zu empfehlen.
 
ich muss verschiedene Programme schreiben und einheitliche Funktionen daraus machen, wo überall die selben drei Parameter angeführt werden sollen, auch wenn nicht alle benötigt werden. Diese Funktionen sollen dann in ein eigenes Programm eingespeist werden.
 
Hi Hela,
habe mir gerade die optionalen Parameter angesehen. Heißt das, dass ich vielleicht ein Lösung finden könnte indem ich ich eine Funktion in der derzeitigen Funktion, die ja optionale Parameter enthält, mache?
Sorry, bin etwas verwirrt und kann das im Kopf gerade mal nicht richtig umsetzen.
 
Du kannst mit optimalen Paramtern arbeiten. Nur muss dein Code innerhalb der Funktion damit klarkommen. Ergo musst du im Code auswerten ob der Paramter mitgegeben wurde.
 
Zurück