Wie erstelle ich eine globale Variable wie preg_match für den Parameter $matches
?Erstellen Sie eine globale Variable, wenn das Argument bereitgestellt wird
Im folgenden Code erstellt preg_match
globale $Hel_matches
und $Wor_matches
Variablen, obwohl sie nicht definiert sind.
$string = "Hello, World!";
$pattern1 = '/Hel/';
$pattern2 = '/Wor/';
preg_match($pattern1, $string, $Hel_matches);
preg_match($pattern2, $string, $Wor_matches);
print_r($Hel_matches);
print_r($Wor_matches);
Ich möchte in der Lage sein, das Gleiche zu tun. Beispiel: odd_numbers()
gibt ein Array zurück, das mit den ungeraden Zahlen zwischen 0
und $max
gefüllt ist.
function odd_numbers($max) {
$numbers = [];
for ($i = 0; $i <= $max; $i++) {
if ($i % 2 == 1) {
$numbers[] = $i;
}
}
return $numbers;
}
$odd_numbers = odd_numbers(10);
print_r($odd_numbers);
Wenn ich einige zusätzliche Berechnung im odd_numbers()
tun will und zurück auch, dass (für Debug-Zwecke, zum Beispiel), na ja, ich kann nicht. Ich kann nur eine Sache zurückgeben. Stattdessen übergebe ich ein zweites Argument (Variable) an die odd_numbers()
und die Funktion gibt/gibt den Rückgabewert an diese Variable zurück.
// $odd_numbers = odd_numbers(10, $evens); // fill $evens (if provided) with even numbers for debug purposes
print_r($odd_numbers);
// print_r($evens); // debug
Wie kann ich überprüfen, ob '$ evens' vorgesehen ist oder nicht? 'odd_numbers' kann mit oder ohne' $ evens' aufgerufen werden. – akinuri
Sie können http://php.net/manual/en/function.func-num-args.php verwenden - ich werde die Antwort mit einem Beispiel aktualisieren – rjdown
Okay, dies scheint den Trick zu tun. – akinuri