Assoziative arrays mit PHP durchsuchen

Wer ein Array mit mehreren assoziativen Arrays nach einem bestimmten Wert durchsuchen will, verwendet in den meisten Fällen instinktiv eine foreach-Schleife mit if-Abfrage. PHP bietet allerdings die ein oder andere Funktion an, mit der sich das deutlich eleganter lösen lässt. Und das funktioniert wie folgt:

<?php

$characters = [
	[ 'name' => 'Gandalf', 'race' => 'Ainur' ],
	[ 'name' => 'Aragorn', 'race' => 'Men' ],
	[ 'name' => 'Legolas', 'race' => 'Elves' ]
];

$index = array_search('Legolas', array_column($characters, 'name'));
var_dump($characters[$index]['race']); // Ausgabe: "Elves"

Die Funktionen array_search() und array_column() durchsuchen das Array $characters nach dem Namen „Legolas“ und geben den ersten gefunden Index zurück.

Durch die Kombination der beiden Funktionen wird das Skript deutlich kürzer und übersichtlicher, als wenn eine Schleife verwendet worden wäre.

Smartphone-Weiche für App-Stores über .htaccess

Mit dem folgenden Snippet können Anfragen auf /app automatisch auf den jeweiligen App-Store des Endgeräts weitergeleitet werden:

# /app-Weiterleitungen
# Android
RewriteCond %{HTTP_USER_AGENT} "android" [NC]
RewriteRule ^app/?$ https://play.google.com/store/apps/details?id=com.ninegag.android.app [NC,R=301,L]
# iOS
RewriteCond %{HTTP_USER_AGENT} (iphone|ipad|ipod) [NC]
RewriteRule ^app/?$ https://apps.apple.com/app/id545551605 [NC,R=301,L]
# Fallback
RewriteRule ^app/?$ https://about.9gag.com/ [NC,R=301,L]

Das Snippet ist für 9gag.com/app ausgelegt.

Über die Rewrite-Conditions wird der User-Agent auf die Keywords „Android“ bzw. „iPhone“ oder „iPad“ abgefragt. Die Rewrite-Rule verweist dann auf die URL des App-Stores, das zum Endgerät passt. Für den Fall, dass keine App für das Endgerät vorliegt, wurde zusätzlich noch ein Fallback eingebaut.

PHP Syntax-Überprüfung automatisieren

Normalerweise kümmert sich um die Syntax-Überprüfung bereits die IDE, während des Schreibens. Manchmal kommt es aber vor, dass man keine IDE zur Verfügung hat oder der PHP-Code aus einer gänzlich anderen Quelle stammt. In diesem Fall kann es sinnvoll sein, die Syntax mittels eines Skripts zu überprüfen.

» Weiterlesen