Phil Z.: 28 Abfragen so schnell wie möglich vergleichen

Hey!

Also ich habe
28 verschiedene Variablen(bars) in Form eines Arrays + 1 Variable(foo) mit der immer verglichen werden sollen.
Falls Variable foo mit keiner der 28 bars gleich ist soll foo den Wert 'XX' kriegen.

Wie realisiere ich das am besten ohne 28 If-Else Schleifen?

Mit freundlichen Grüßen

Philipp Zentner

  1. Hi,

    Also ich habe
    28 verschiedene Variablen(bars) in Form eines Arrays + 1 Variable(foo) mit der immer verglichen werden sollen.
    Falls Variable foo mit keiner der 28 bars gleich ist soll foo den Wert 'XX' kriegen.

    Wie realisiere ich das am besten ohne 28 If-Else Schleifen?

    Am besten wirfst du [vor solchen Fragen] mal einen Blick ins Manual, Kapitel Array-Funktionen.

    Btw.: If-Else stellen keine Schleife dar.

    MfG ChrisB

    1. Wie realisiere ich das am besten ohne 28 If-Else Schleifen?

      Am besten wirfst du [vor solchen Fragen] mal einen Blick ins Manual, Kapitel Array-Funktionen.

      Genau, dein Freund nennt sich dann in_array()
      http://www.php.net/manual/en/function.in-array.php

      frohes Fest ;)
      Jonny 5

  2. n'abend,

    Also ich habe 28 verschiedene Variablen(bars) in Form eines Arrays + 1 Variable(foo) mit der immer verglichen werden sollen.
    Falls Variable foo mit keiner der 28 bars gleich ist soll foo den Wert 'XX' kriegen.
    Wie realisiere ich das am besten ohne 28 If-Else Schleifen?

    Bei nur 28 Elementen ist eine lineare Suche (auf unsortierten Werten) vermutlich noch die sinnvollste lösung. Das kannst du entweder mit einer Schleife selbst erledigen, oder mit in_array(), wie dir die Kollegen bereits erklärt haben.

    Wenn du mehr Elemente hast, liefert eine lineare Suche vielleicht nicht mehr das beste Ergebnis. Bei vielen Elementen bietet sich BinarySearch an.

    weiterhin schönen abend...

    --
    #selfhtml hat ein Forum?
    sh:( fo:# ch:# rl:| br:> n4:& ie:{ mo:} va:) de:] zu:} fl:( ss:? ls:[ js:|
    1. echo $begrüßung;

      Wenn du mehr Elemente hast, liefert eine lineare Suche vielleicht nicht mehr das beste Ergebnis. Bei vielen Elementen bietet sich BinarySearch an.

      Allerdings kommt es nun auf einen Vergleich an, ob sich ein in PHP gegossener Binärsuch-Algorithmus (inklusive Overhead für einen Funktionsaufruf) dem in C ausgeführten in_array() das Wasser reichen kann, bzw. ab welcher Datenmenge.

      echo "$verabschiedung $name";

    2. Hi,

      Wenn du mehr Elemente hast, liefert eine lineare Suche vielleicht nicht mehr das beste Ergebnis. Bei vielen Elementen bietet sich BinarySearch an.

      Vorausgesetzt, daß die Werte geeignet sortiert sind.

      cu,
      Andreas

      --
      Warum nennt sich Andreas hier MudGuard?
      O o ostern ...
      Fachfragen unaufgefordert per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
      1. n'abend,

        Wenn du mehr Elemente hast, liefert eine lineare Suche vielleicht nicht mehr das beste Ergebnis. Bei vielen Elementen bietet sich BinarySearch an.
        Vorausgesetzt, daß die Werte geeignet sortiert sind.

        was im verlinkten Wikipedia Artikel gleich im ersten Satz erklärt wird, weshalb ich eine weitere Erwähnung in diesem kurzen Hinweis nicht für nötig hielt.

        weiterhin schönen abend...

        --
        #selfhtml hat ein Forum?
        sh:( fo:# ch:# rl:| br:> n4:& ie:{ mo:} va:) de:] zu:} fl:( ss:? ls:[ js:|
  3. Hey.

    Super, das mit dem in_array() war genau das richtige ;)

    Liebe Grüße,
    fröhliche Feiertage und einen guten Rutsch ins neue Jahr.

    Phil Z.