variabele auf inhalt prüfen

Diskutiere variabele auf inhalt prüfen im Webmaster Hilfe / Programmierer Forum Forum im Bereich Computerprobleme; hi ich würde gerne eine variable auf ihren inhalt überprüfen also in etwas so: if ($b enthält "hallo"') {} else {} geht das in php überhaupt??...

  1. #1 I dont know, 19.11.2009
    I dont know

    I dont know Erfahrener Benutzer

    Dabei seit:
    01.09.2008
    Beiträge:
    316
    Zustimmungen:
    0
    Ort:
    Hassfurt
    hi
    ich würde gerne eine variable auf ihren inhalt überprüfen also in etwas so:
    if ($b enthält "hallo"')
    {}
    else
    {}

    geht das in php überhaupt??

    schon mal thx für die antwort
     
  2. Anzeige

    schau mal hier: Windows-Wartungs-Tool. Viele Probleme lassen sich damit einfach beheben. Oftmals ist der PC dann auch schneller!
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren.
  3. Nico

    Nico Ehemaliges Teammitglied

    Dabei seit:
    28.10.2005
    Beiträge:
    6.676
    Zustimmungen:
    0
    Also $b ist ein string mit Inhalt "Hallo Welt" oder "Ey, Hallo du da!" und du willst checken ob "Hallo" drin vorkommt?

    Probiers mal mit strpos()

    Funktioniert so : strpos($heuhafen, $nadel) und gibt folgende Werte zurück: FALSE wenn es nicht gefunden wird, wenn es gefunden wird die Stelle, wo es vorkommt.

    Also musst du schauen: Wenn strpos($b, "hallo") NICHT FALSE ist, dann enthält es das gesuchte wort.

    also:

    PHP:
    if(strpos($b"hallo") != FALSE) {
    // Wird ausgeführt wenn vorhanden
    // ...
    // ...
    } else {
    // Wird ausgeführt wenn nicht vorhanden
    // ...
    // ...
    }
    Gruß
     
  4. #3 I dont know, 19.11.2009
    I dont know

    I dont know Erfahrener Benutzer

    Dabei seit:
    01.09.2008
    Beiträge:
    316
    Zustimmungen:
    0
    Ort:
    Hassfurt
    ich habe mal zum test was geschrieben funktioniert aber nicht:
    PHP:
    <?php
    $h
    ="hallo";
    if(
    strpos($h"hallo") != FALSE)
    {
    echo 
    $h;
    }
    else 
    {
    echo 
    "funktioniert nicht";
    }
    ?>
    was ist falsch
     
  5. #4 xandros, 19.11.2009
    xandros

    xandros IT Consultant, Cisco Registered Partner
    Moderator

    Dabei seit:
    05.07.2007
    Beiträge:
    26.068
    Zustimmungen:
    109
    Ort:
    Umkreis Duisburg, neben Mannheim, hinter Hamburg
    edit: muss da erst nochmal eine Tasse Kaffee nachschütten! (Hab hier eben leichten Blödsinn geschrieben!)

    hmmm... müsste es nicht
    if(strpos($h, "hallo") !== false)
    heissen?
     
  6. #5 I dont know, 19.11.2009
    I dont know

    I dont know Erfahrener Benutzer

    Dabei seit:
    01.09.2008
    Beiträge:
    316
    Zustimmungen:
    0
    Ort:
    Hassfurt
    is a auch so gedacht wenn strpos = true ist dann ist true != false also ergibt sich true oder sehe ich das falsch??
    strpos ergibt doch dan true wenn in der variablen das wort enthalten ist oder??
    aber wozu braucht man dann das != false überhaupt??
    und warum funktioniert es nicht wenn ich es weglösche?

    edit:
    kann es sein das strpos etwas ganz anderes macht als zu überprüfen ob das wort in der variablen steckt denn ich habe alle möglichkeiten durchprobiert (ohne != false / ==true / != true/ == false) aber es gibt immer geht nicht aus!! was läuft da falsch??
     
  7. #6 xandros, 19.11.2009
    xandros

    xandros IT Consultant, Cisco Registered Partner
    Moderator

    Dabei seit:
    05.07.2007
    Beiträge:
    26.068
    Zustimmungen:
    109
    Ort:
    Umkreis Duisburg, neben Mannheim, hinter Hamburg
    schon klar, das hab ich oben deshalb auch editiert.....
    aber strpos gibt niemals True zurück, sondern nur False oder einen Integer! Somit wirst du niemals auf True prüfen können. == True, != True, === True, !== True wird niemals ein korrektes Ergebnis liefern.
     
  8. #7 I dont know, 19.11.2009
    I dont know

    I dont know Erfahrener Benutzer

    Dabei seit:
    01.09.2008
    Beiträge:
    316
    Zustimmungen:
    0
    Ort:
    Hassfurt
    ach so läuft das ab..
    dann müsste das doch eigentlich funktionieren oder:
    PHP:
    <?php
    $h
    ="hallo";
    $b="h";
    if(
    strpos($h,$b) !== false)
    {
    echo 
    $h;
    }
    else 
    {
    echo 
    "funktioniert nicht";
    }
    ?>
    edit: ok funktioniert danke :)
     
  9. #8 c0CoKabAnA, 20.11.2009
    c0CoKabAnA

    c0CoKabAnA Erfahrener Benutzer

    Dabei seit:
    06.11.2008
    Beiträge:
    183
    Zustimmungen:
    0
    PHP:
    <?php
    $meinString 
    'abc';
    $findMich   'a';
    $pos strpos($meinString$findMich);

    if (
    $pos !== false) {
        echo 
    "Der String '$findMich' wurde im String '$meinString' gefunden";
        echo 
    " und befindet sich an Position $pos";
    } else {
        echo 
    "Der String '$findMich' wurde nicht im String '$meinString' gefunden";
    }
    ?>
    siehe: http://php.net/manual/de/function.strpos.php
     
  10. Nico

    Nico Ehemaliges Teammitglied

    Dabei seit:
    28.10.2005
    Beiträge:
    6.676
    Zustimmungen:
    0
    Ja, hatte falschen Operator benutzt. ^^

    Passiert im Eifer des Gefechts mal :D
     
  11. #10 I dont know, 20.11.2009
    I dont know

    I dont know Erfahrener Benutzer

    Dabei seit:
    01.09.2008
    Beiträge:
    316
    Zustimmungen:
    0
    Ort:
    Hassfurt
    macht nix hams ja hin bekommen
    und danke noch mal an alle
     
  12. #11 Blaxxun, 25.11.2009
    Blaxxun

    Blaxxun aka Noisy

    Dabei seit:
    06.11.2005
    Beiträge:
    6.171
    Zustimmungen:
    0
    Das ist so nicht korrekt. Auch wenn strpos() niemals true zurück gibt lässt es sich doch einfach machen.
    PHP:
    if(strpos($b'hallo'){
     echo 
    'Wenn $b "hallo" enthält wird dieser Text angezeigt';
    }else{
     echo 
    'Der else-Teil ist optional und wird nur ausgeführt, sofern strpos false ausgibt.';
    }
    if() reagiert bei einer Rückgabe so:
    0/false => false
    1/true/... => true
    Das heißt auch wenn ein String oder ein Integer zurückgegeben wird, dann wird das als true interpretiert.
     
  13. Anzeige

    Es ist generell erstmal empfehlenswert alle ggf. veralteten oder fehlerhaften Treiber zu scannen und auf neue zu aktualisieren. Hier kannst du einen Treiber-Scanner downloaden. Das erspart oftmals viel Ärger und hilft gegen diverse Probleme.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren.
  14. #12 xandros, 25.11.2009
    xandros

    xandros IT Consultant, Cisco Registered Partner
    Moderator

    Dabei seit:
    05.07.2007
    Beiträge:
    26.068
    Zustimmungen:
    109
    Ort:
    Umkreis Duisburg, neben Mannheim, hinter Hamburg
    Das ist sehr wohl korrekt, sofern man sich die Bedingung für die If-Clause mal genau ansieht.
    Dort steht eine Bedingung drin, die so niemals das erwartete Ergebnis liefern kann.
    In deinem Beispiel hast du die Bedingung so verändert, dass If() etwas Anderes auswertet.
    Deine Bedingung besagt, dass 0=False und alles andere True ist. strpos() liefert entweder 0 für keinen Fund oder einen Wert>0. Und der Wert kann entsprechend interpretiert werden.

    In der ursprünglichen Bedingung wurden aber zwei Werte miteinander verglichen. Und wenn zwei Werte miteinander verglichen werden, dann muss auch der Vergleichsoperator stimmen.....

    Allerdings ist deine Lösung deutlich eleganter.
     
  15. #13 Blaxxun, 25.11.2009
    Blaxxun

    Blaxxun aka Noisy

    Dabei seit:
    06.11.2005
    Beiträge:
    6.171
    Zustimmungen:
    0
    Stimmt mir != false funktioniert es nicht mit !== false allerdings schon. Liegt aber daran, dass strpos hier in dem konkreten Fall 0 zurückgibt, 0 hier aber nicht für false steht, sondern für die nullte Stelle.

    Man müsste also sagen, dass es auf den Rückgabewert der Funktion ankommt, ist der Rückgabewert boolesch (Ist das das Adjektive zu boolean?), dann reicht !=, ansonsten muss man einen exakten Typenvergleich mit !== bzw. === machen :)
     
Thema: variabele auf inhalt prüfen
Die Seite wird geladen...

variabele auf inhalt prüfen - Ähnliche Themen

  1. E-Mails vor Exchange und Verteilung auf Viren prüfen

    E-Mails vor Exchange und Verteilung auf Viren prüfen: Gibt es eine Lösung wie man Mails vor der Verteilung auf Schadsoftware/Viren prüfen kann. Hat da jemand mit Erfahrung? Danke
  2. Konfiguration prüfen

    Konfiguration prüfen: Kann hier mal jemand drüber schauen ob in Ordnung. Danke im vorraus
  3. Erreichbarkeit Prüfen ?

    Erreichbarkeit Prüfen ?: Hallo, Ich bin gerade dabei provisorisch einen TS3 Server bei mir daheim einzurichten. Jetzt habe ich schon alles soweit eingestellt, Ports...
  4. Bei selbst bebrannter DVD+R/RW wird Inhalt nicht angezeigt

    Bei selbst bebrannter DVD+R/RW wird Inhalt nicht angezeigt: Hallo zusammen, ich hoffe ich bin hier richtig. :) Also mein Problem liegt darin das ich gerade Bilder von einer von mir bebrannten DVD (DVD+R...
  5. C Array prüfen ?

    C Array prüfen ?: Hi Leute, Bitte um Hilfe :D . Ich muss im Rahmen einer Übung ein Programm in C schreiben. Es geht darum das man etwas eingeben kann, das...