Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 13 von 13

Thema: Projekt Mitarbeiter

  1. #11
    Fortgeschrittene/r
    Themenstarter

    Registriert seit
    25.06.2016
    Beiträge
    157
    Danke
    5
    Bekam 11 mal "Danke" in 11 Postings

    Standard AW: Projekt Mitarbeiter

    Hey,

    Ok. Vielen Dank für die gute Hilfe Funktioniert jetzt auch alles.

    Ich habe mir nochmals die ganzen array-funktionen durchgelesen. Nun das ich es nochmals verstehe:

    array_filter wird als erstes verwendet und umgibt die anderen array funktionen weil array_filter alle Sachen löscht die FALSE sind, und Sachen die TRUE sind behält diese funktion.
    Dann wird array_map verwendet mit einer anonymen Funktion, die auch Closures genannt werden, (bei dieser brauch man keinen functionname) . Diese funktion gibt alles aus dieser function zurück, braucht dazu die formulardaten.
    Und in dieser function wird array_keys angewandt, welche alle Schlüssel eines Array liefert an die closure (Annonyme Funktion). D.h. arrey_keys liefert der anonymen funktion sozusagen die werte den mitgegebenden Parameter ?
    Dann werden alle Daten mit array_filter gefiltert und die die FALSE sind gelöscht.

    Warum hast du array_keys() in der funktion array_map() verwendet ?

    Gruß,
    Stef
    Geändert von Stef (12.01.2017 um 17:39 Uhr)

  2. #12
    Moderator Avatar von Arne Drews
    Registriert seit
    20.01.2016
    Ort
    Friedrichstadt, NF
    Beiträge
    869
    Danke
    18
    Bekam 96 mal "Danke" in 95 Postings

    Standard AW: Projekt Mitarbeiter

    Hi,

    Du hast es fast
    Bzgl. der Verarbeitung meinst Du das richtige, hast es aber andersrum erklärt, daher nochmal Step-by-Step:

    Bei verschachtelten Verarbeitungen wird von innen nach außen ausgewertet, d.h. hier wird zuerst array_map() verarbeitet.
    array_map() benötigt als Pflichtparameter ein Array, über dessen Werte es iteriert, hier übergeben wir einfach $formulardaten, weil wir die Werte daraus auf "leer" prüfen wollen.
    Zurückgeben möchten wir entweder eine Fehlermeldung oder null. Damit wir die Verarbeitung weitesgehend automatisieren können, habe ich den Formulardaten einen Array-Schlüssel verpasst, den wir in der Fehlermeldung verwenden können. Damit unsere Closure diese aber kennt, müssen wir sie als weiteren optionalen Parameter übergeben und das passiert mit array_keys(), welches ein Array mit den Schlüssel eines Array liefert:
    PHP-Code:
    $a = [
        [
    vorname] => 'foo',
        [
    nachname] => 'bar',
        [
    wohnort] => 'baz'
    ];

    $b array_keys$a );

    // ...wird zu
    /*
        [0] => vorname,
        [1] => nachname,
        [2] => wohnort
    */ 
    array_map() liefert der Closure immer in Paar, bestehend aus dem ersten und zweiten Parameter:
    Code:
    1. Durchlauf: foo, vorname
    2. Durchlauf: bar, nachname
    3. Durchlauf: baz, wohnort
    Erst wenn array_map() alles verarbeitet hat, wird im dargestellten Fall das Ergebnis in Form eines Arrays an array_filter() übergeben, wo dann - wie Du richtig sagtest - alle Werte, entfernt werden, bei denen der Rückgabewert der Closure als false gecastet wird.
    Da wir für array_filter() keine Closure-Funktion angewendet haben, wird der jeweils zu bearbeitende Wert zu false gecastet. Ein Leerstring, also ein leeres Formularfeld ist zu bool gecastet in PHP auch false, daher fliegen die raus.
    Due hast so am Ende nur noch die aufgetretenen Fehler im Array.

    Auf die Weise spart man sich umständliche IF-Konstrukte und muss den Code nicht anpassen, wenn mal Formularfelder dazu kommen.

    Gruß Arne

  3. #13
    Fortgeschrittene/r
    Themenstarter

    Registriert seit
    25.06.2016
    Beiträge
    157
    Danke
    5
    Bekam 11 mal "Danke" in 11 Postings

    Standard AW: Projekt Mitarbeiter

    Hey,

    ok alles klar. Nochmals danke für die leicht verständliche und gute Erklärung.

    Gruß,
    Stef

Ähnliche Themen

  1. [suche] [S] Mitarbeiter
    Von fanboij im Forum Job Forum - Jobs für Grafiker, Programmierer und Webmaster
    Antworten: 1
    Letzter Beitrag: 27.01.2011, 16:54
  2. Suche Mitarbeiter
    Von siccario im Forum Promotion - SEO - Suchmaschine (Google & Co) – Mitarbeiter & Linkpartnersuche
    Antworten: 0
    Letzter Beitrag: 22.06.2010, 19:50
  3. Suche Mitarbeiter
    Von Sensei im Forum Promotion - SEO - Suchmaschine (Google & Co) – Mitarbeiter & Linkpartnersuche
    Antworten: 1
    Letzter Beitrag: 18.02.2009, 14:30
  4. Mitarbeiter gesucht
    Von Peppy im Forum Job Forum - Jobs für Grafiker, Programmierer und Webmaster
    Antworten: 12
    Letzter Beitrag: 22.06.2008, 17:23
  5. Mitarbeiter gesucht
    Von Rinko im Forum Promotion - SEO - Suchmaschine (Google & Co) – Mitarbeiter & Linkpartnersuche
    Antworten: 9
    Letzter Beitrag: 06.04.2005, 00:35

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •