2016-07-12 18 views
1

Ich habe ein Zeichen und ich muss überprüfen, ob es in einem bestimmten Bereich ist, d. H. Zwischen 'A' und 'F'.Wie kann ich überprüfen, ob ein Zeichen in einem Bereich von Zeichen ist?

Natürlich könnte ich tun

if ($c == 'A' || $c == 'B' || ..) 

aber es ist schrecklich.

Irgendwelche Vorschläge?

+0

Sie können Sie ASCII-Code mit weniger verwenden als und größer als Zeichen für diese –

+3

'if (in_array ($ c, Bereich ('A', 'F')))' –

Antwort

2

können Sie ord() verwenden die Ordnungs ASCII-Zeichencode zu erhalten:

if (ord($c) >= ord('A') && ord($c) <= ord('F')) { 
    echo "Character is in range." 
} 

Beachten Sie, dass dies nur „Groß A durch Großbuchstaben F“ ist. Wenn Sie die Groß-/Kleinschreibung nicht beachten, verwenden Sie strtoupper($c), wobei $c angezeigt wird.

+0

danken, nicht wusste, von ord() – gbalduzzi

+0

Kein Problem, froh zu helfen! :) – Will

+0

Wenn Ihr Problem gelöst ist, akzeptieren Sie bitte die Antwort, so dass die Frage als beantwortet markiert wird. – Will

1

Sie könnten das Zeichen in seinen Ordinalwert konvertieren und seinen ganzzahligen Bereich überprüfen. Wie if (ord($c) >= ord('A') && ord($c) <= ord('F'))