Registreren

    Informatie

    Het is heel gemakkelijk om lid te worden. Door je gegevens op te geven op de registratie pagina ontvang je automatisch een email met je inlog gegevens.

  • Registreer je hier

Aanmelden

    Informatie

    Omdat je niet aangemeld bent is het gebruikerspaneel niet beschikbaar. Vul hiernaast je gegevens in om gebruik te maken van het gebruikerspaneel.

Aanmeldformulier


in_string()

PHP is een scripttaal, die bedoeld is om op webservers dynamische webpagina's te creëren. PHP is in 1994 ontworpen door Rasmus Lerdorf, een senior software engineer bij IBM. Destijds was de taal duidelijk geïnspireerd door Perl.

Aanvankelijk stonden de letters PHP voor Personal Home Page (de volledige naam was Personal Home Page/Forms Interpreter, PHP/FI). Sinds PHP 3.0 is de betekenis een recursief acroniem geworden: PHP: Hypertext Preprocessor.

in_string()

Berichtdoor Zunflappie » 03 Jan 2012 13:59

De functie in_array kijkt of er een waarde in een array zit. Als je zoiets wilt doen, maar dan in een string, kan je gebruik maken van strpos().

Maar om elke keer weer die strpos() te gebruiken om daarna in een if-statmennt te kijken of het er wel in zit, is niet zo handig.

Daarom deze functie:

Code: Alles selecteren
function in_string($haystack, $needle)
    {
    // check if $needle is not empty, if empty, return false
    if(empty($haystack) OR empty($needle))
        {
        return false;
        }
    
    
// use the strpos to find the position of its occurence
    $stripos = stripos($haystack, $needle);
    
    
// look for its position using the triple-character-equation
    if($stripos === false OR $stripos !== true)
        {
        // return false
        return false;
        }
    else
        
{
        // return true
        return true;
        }
    } 


En ingekort is dat dan:
Code: Alles selecteren
function in_string($h, $n)
    {
    if(empty($h)||empty($n)){return false;}
    $s = stripos($h, $n);    
    return
($s === false) ? false:true;
    


Eventueel kan je het nog op 1 regel zetten, maar dat maakt niet zo veel uit.

Gebruik
Code: Alles selecteren
if(in_string("@", "test@test.nl"))
    {
    echo 'String  bevat het apenstaartjes';
    } 


Veel simpeler als dit kan het niet hoor.
'K Ben er weer!
Gebruikers-avatar
Zunflappie
Teamlid
 
Berichten: 48
Geregistreerd: 06 Mrt 2006 12:48

Re: in_string()

Berichtdoor Theo » 03 Jan 2012 14:41

Ik zie het voordeel niet ten opzichte van:
Code: Alles selecteren
if( stripos"@""test@test.nl") !== false )
{
    echo 
'String  bevat het apenstaartjes';
}  

Lijkt mij onnodig functies (en dus bytes) maken.
I rather feel pain than nothing at all
Theo
Oprichter
 
Berichten: 1795
Geregistreerd: 11 Jun 2005 17:43
Woonplaats: in_array()

Re: in_string()

Berichtdoor Zunflappie » 03 Jan 2012 16:26

Theo schreef:Ik zie het voordeel niet ten opzichte van:
Code: Alles selecteren
if( stripos( "@", "test@test.nl") !== false )
{
    echo 'String  bevat het apenstaartjes';
}
  

Lijkt mij onnodig functies (en dus bytes) maken.


strpos() schijn je niet zo direct te kunnen gebruiken. Kijk maar op php.net
Werkte het maar zo... waarom zou het anders niet zo op php.net staan?
Ook vond ik daar in de comments (achteraf natuurlijk) een in_string() op een iets andere wijze.
'K Ben er weer!
Gebruikers-avatar
Zunflappie
Teamlid
 
Berichten: 48
Geregistreerd: 06 Mrt 2006 12:48

Re: in_string()

Berichtdoor RedRose » 22 Feb 2012 22:47

Zunflappie schreef:Werkte het maar zo... waarom zou het anders niet zo op php.net staan?
Is Theo's voorbeeldcode niet gewoon het eerste voorbeeld dat op PHP.net staat? strpos geeft over het algemeen een int terug (namelijk de positie van $needle), maar geeft FALSE terug als $needle niet in de teststring is bevat. De code strpos('a', 'test@test.nl') !== false geeft dan ook alleen TRUE terug, als strpos niet FALSE teruggeeft.

Of zie ik iets over het hoofd?
Appease the Moderator Monster: send coffee.

Echte liefde: je vermenigvuldigen met je afgeleide
RedRose
Globale moderator
 
Berichten: 1994
Geregistreerd: 14 Jun 2005 18:12


Terug naar PHP



Wie is er online?

Gebruikers in dit forum: Google [Bot] en 1 gast


cron