Christoph Zurnieden: Check, ob 1. Zeichen eines Strings eine Zahl ist

Beitrag lesen

Hi,

Naja, es sollte aber doch der eherne Grundsatz gelten: nicht mehr als nötig.
Das Optimum wäre gewesen: Man schreibt es nicht schon in den Code, sondern gibt einen Hinweis, das trimmen nicht zuvergessen, falls es benötigt wird.

Wozu? Was hat ein trim() mit der Anforderung zu tun, das erste Zeichen eines Strings auf isdigit() zu prüfen? Rein gar nix, oder?
Ihr seid doch alle so hinter OOP her, warum haltet ihr euch dann nicht daran?

BTW: verlangt wurde übrigens eine _elegante_ Lösung. Ich habe versucht eine zu liefern.

Wenn du es schon so genau nimmst, dann bitte konsequent: Gefragt wurde nach einer _eleganteren_ Lösung

Nein, meine Wortwahl war durchaus beabsichtigt, ich hatte den Positiv nicht übersehen.
Denn:

  • und eleganter als den ganzen String Buchstabe für Buchstabe in ein riesiges Array aufzusplitten um davon dann das erste Feld mit is_numeric zu checken, waren alle Lösungen! ;D

is_numeric() ist für einen ganzen String vorgesehen (ähnlich strtol() und Anverwandte). Diese Funktion auf ein einzelnes Zeichen angewandt bedeutet mit Kanonen auf Spatzen zu schießen. Das ist nicht gerade eleganter geschweige denn überhaupt elegant.
Warum die ganzen Funktionen aus ctypes.h/wctype.h nicht in PHP gewandert sind wundert mich etwas, vielleicht war ich aber auch nur zu blöd sie zu finden.

Aber danke für das Aufzeigen der verschiedenen Möglichkeiten!

Die schnellste Möglichkeit (Tabellenlookup mit O(1)) hatte ich ja auch schon angerissen. Das war's dann aber auch schon, mehr gibt's nicht. (Es gibt noch die Möglichkeit des Bitschuppsens, aber das spart auf den verbreiteten Architekturen nichts und ist deshalb auch nicht eleganter)

so short

Christoph Zurnieden

0 48

Check, ob 1. Zeichen eines Strings eine Zahl ist

duddle
  • php
  1. 2
    Tobias Kloth
    1. 0
      duddle
  2. 0
    André Laugks
    1. 0
      André Laugks
      1. 0
        Tobias Kloth
        1. 0
          Christoph Zurnieden
          1. 0
            André Laugks
            1. 0
              Christoph Zurnieden
          2. 0
            duddle
            1. 0
              André Laugks
            2. 0
              Christoph Zurnieden
              1. 0
                duddle
                1. 0
                  fastix®
                  1. 0
                    duddle
                2. 0
                  Christoph Zurnieden
                  1. 1
                    dedlfix
                    1. 0
                      Christoph Zurnieden
                      1. 0
                        dedlfix
                        1. 0
                          Christoph Zurnieden
                        2. 0
                          Christian Kruse
                          1. 0
                            dedlfix
                            1. 0
                              Christian Kruse
                              1. 0
                                dedlfix
                                1. 0
                                  Christian Kruse
                                  1. 0
                                    dedlfix
                                    1. 0
                                      Christian Kruse
                              2. 0
                                duddle
                                1. 0
                                  Christian Kruse
                                2. 0
                                  dedlfix
                  2. 0
                    Christian Kruse
                    1. 0
                      Christoph Zurnieden
                      1. 0
                        Christian Kruse
                    2. 0
                      Gunnar Bittersmann
              2. 0
                Christian Kruse
                1. 0
                  Christoph Zurnieden
                  1. 0
                    Christian Kruse
        2. 0
          André Laugks
          1. 0
            Tobias Kloth
            1. 0
              Christoph Zurnieden
              1. 0
                Christian Kruse
                1. 0

                  PHP und die Rechtschreibreform

                  Vinzenz Mai
                  • menschelei
                  1. 0
                    Christian Kruse
                    1. 0
                      dedlfix
                      1. 0
                        Christian Kruse
                2. 0
                  Christoph Zurnieden
                  1. 0
                    Christian Kruse
            2. 0
              André Laugks