Konvertieren der JavaScript-Funktion in eine PHP-Funktion

8

Ich bin neu in PHP und versuche eine einfache Javascript-Funktion in eine PHP-Funktion umzuwandeln. Bisher weiß ich nur die Variablen zu konvertieren, ich brauche Hilfe bei der Sortierfunktion und dem Array-Filter. Danke für jede Hilfe!

%Vor%

Meine halbe Konvertierung:

%Vor%     
Joe Fisher 20.04.2012, 16:08
quelle

5 Antworten

3

Das Scoping funktioniert nicht wie JavaScript. Sie können in Ihrer Callback-Funktion nicht einfach auf $number verweisen, da es keine Gültigkeitsbereichskette hat.

Sie müssen es entweder global (nicht empfohlen, aber einfach) machen:

%Vor%

Oder Sie könnten den Operator use verwenden (eine elegante Lösung):

%Vor%     
Kato 20.04.2012, 16:28
quelle
3

Sie sind ziemlich nah dran, der variable Umfang in PHP ist etwas anders:

%Vor%

Grundsätzlich ist der Unterschied use ($number) und Sie brauchen die Temp-Funktion nicht zu benennen.

    
hakre 20.04.2012 16:21
quelle
0

Versuchen Sie es

%Vor%     
Giannis Vrentzos 20.04.2012 16:27
quelle
0

Wenn ich also das JavaScript richtig verstehe, gibt diese Funktion den am besten passenden Wert in rollArray zurück, der größer ist als der angegebene number Parameter?

Hier ist meine Lösung:

%Vor%

Sie sind auf dem richtigen Weg, wenn Sie array_filter () verwenden. Bei einer anonymen Funktion als Callback stoßen Sie jedoch auf das erste JavaScript vs PHP Problem - Scoping.

In PHP teilen Funktionen nicht automatisch den Bereich, in dem sie definiert sind. Wenn Sie etwas aus dem aktuellen Bereich benötigen, müssen Sie es mit dem Schlüsselwort use mitbringen.

Zuletzt benutze ich reset () , um den ersten Wert des sortierten Arrays herauszuholen, der dem am nächsten passenden sein sollte. Sie können $rollArray[0] nicht verwenden, da array_filter () Schlüssel speichert und daher 0 möglicherweise nicht mehr existiert.

    
Tobias Sjösten 20.04.2012 16:43
quelle
0

Hier ist das Beispiel, um die Suche zu optimieren, nicht gerade, sondern mit Ihren Gehirnen ...:)

%Vor%     
devdRew 20.04.2012 16:46
quelle

Tags und Links