Monthly Archives: October 2009

PHP: isset vs. array_key_exists

Heute möchte ich mal ein paar Worte zu den Funktionen isset und array_key_exists loswerden. Genauer angeschaut habe ich mir das Verhalten der beiden Funktionen beim Prüfen ob ein Feld in einem Array existiert. Bevor ich zur Performance komme möchte ich jedoch noch auf ein paar Besonderheiten der Funktionen eingehen:

Um zu prüfen ob ein Feld in einem Array existiert ohne dabei Fehlermeldungen zu erzeugen muss vor beiden Funktionen isset und is_array aufgerufen werden.

Beispiel:

1
2
3
4
if(isset($foo) && is_array($foo) && isset($foo['bar']))
{
	$check = true;
}
1
2
3
4
if(isset($foo) && is_array($foo) && array_key_exists('bar', $foo))
{
	$check = true;
}

Read More…

Fork me on GitHub

PHP-Performance: preg_match vs. strpos

Folgendes Problem hat man als Coder sicherlich öfters zu lösen: Man möchte wissen ob String A, String B oder String C (u.s.w) in einem Text vorkommen. Beispielsweise holt man eine Liste mit Keywords aus einer Datenbank und möchte wissen ob eins dieser Keywords in einem Text vorkommt.
Um das Problem zu lösen gibt es sicherlich zig verschiedene Möglichkeiten. Die gängigsten sehen wahrscheinlich in etwas so aus:

1
2
3
4
if(stripos($haystack, $needle) !== false)
{
	$found = true;
}
1
2
3
4
if(preg_match('/'.$needle.'/is', $haystack) == 1)
{
	$found = true;
}

Read More…

 Scroll to top