in_string()
4 berichten
• Pagina 1 van 1
in_string()
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:
En ingekort is dat dan:
Eventueel kan je het nog op 1 regel zetten, maar dat maakt niet zo veel uit.
Gebruik
Veel simpeler als dit kan het niet hoor.
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!
-

Zunflappie - Teamlid
- Berichten: 48
- Geregistreerd: 06 Mrt 2006 12:48
Re: in_string()
Ik zie het voordeel niet ten opzichte van:
Lijkt mij onnodig functies (en dus bytes) maken.
- 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()
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!
-

Zunflappie - Teamlid
- Berichten: 48
- Geregistreerd: 06 Mrt 2006 12:48
Re: in_string()
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.Zunflappie schreef:Werkte het maar zo... waarom zou het anders niet zo op php.net staan?
Of zie ik iets over het hoofd?
Appease the Moderator Monster: send coffee.
Echte liefde: je vermenigvuldigen met je afgeleide
Echte liefde: je vermenigvuldigen met je afgeleide
- RedRose
- Globale moderator
- Berichten: 1994
- Geregistreerd: 14 Jun 2005 18:12
4 berichten
• Pagina 1 van 1
Wie is er online?
Gebruikers in dit forum: Google [Bot] en 1 gast