Wie man zwei Zahlen in einer Zeichenkette multipliziert

7

Ich habe eine Zeichenfolge wie "1X6TAB". Jetzt verwende ich einen regulären Ausdruck für diese Zeichenfolge, um "TAB" zu entfernen und "X" durch "*" zu ersetzen, so dass meine letzte Zeichenfolge "1 * 6" ist. Das erwartete Ergebnis ist "6", aber ich bekomme "1 * 6" als Ergebnis.

Code:

%Vor%     
Peter Mortensen 04.01.2018, 07:05
quelle

4 Antworten

2

Es ist besser, eval() zu verwenden, was auch komplexere Ausdrücke berechnen kann:

%Vor%     
Agnius Vasiliauskas 04.01.2018, 07:27
quelle
12

Anstelle von str_replace() können Sie explode() durch 'X' delimiter verwenden Verwenden Sie array_product() .

%Vor%     
Emerald 04.01.2018 07:16
quelle
3

Du bist fast da. Fügen Sie einfach einen Schritt mehr hinzu, um zu explodieren und zu multiplizieren:

%Vor%

Demo .

Sie können es auch einfach so machen:

%Vor%

Demo .

    
C2486 04.01.2018 07:14
quelle
2

Regexonlynumber () Funktion hilft Ihnen, ein Produkt von Zahlen aus String

zu erhalten

array_product () Funktion: - Die Funktion array_product () berechnet und gibt das Produkt eines Arrays zurück.

str_split () Funktion: - Die Funktion str_split () teilt eine Zeichenfolge in ein Array auf.

%Vor%     
Aman Kumar 04.01.2018 07:15
quelle

Tags und Links