Ich habe mal eine Frage.
Ich weiss, dass es nicht funktioniert, habe ich jetzt oft genug gesagt bekommen , aber ich würde gerne wissen warum nicht. Das konnte mir bis jetzt noch keiner sagen.
a($var = b(), c($var));
Erster parameter für a() speicher ich noch gleichzeitig in $var „$var = b()“ und im zweiten Parameter für a() übergebe ich $var als Parameter an c(). Aber $var kennt ist nicht existent, wenn ich es im zweiten Parameter von a() an c() übergebe.
Um ein mal ein kleines aber unsinniges ^^ Szenarion darzustellen.
function b(){
return rand(11, 20);
}
function c($rand){
return rand(0, $rand);
}
function a($wert1, $wert2){
return $wert1 + $wert2;
}
a($var = b(), c($var));
Normal kennt man das ja zum Beispiel bei if($var = b()), in dem Fall kann man mit $var weiter arbeiten, aber was ist hier anderster als an dem oben genannten Funktionsaufruf. Dachte Anfangs, dass die Paramter statt von links nach rechts von rechts nach links gehen, aber das war auch eine Fehlanzeige. Bin froh, wenn mir einer kurz erklärt, was im Hintergrund bei dem Aufruf der Funktion a() passiert und warum sowas nicht möglich ist.