CakePHP Set::extract

Um mit Arrays zu arbeiten, bietet es sich an die Klasse Set von cake zu verwenden. Ich verwende meist die Methode extract. Es gibt eine gute Syntax womit man auf einfache Weise Daten aus einem Array extrahieren kann.

$datas = array(
			0 => array('foo' =>
							array(
								'id' => 'test123',
								'bar'=>'blub')
								),
			1 => array('foo' =>
							array(
								'id' => '456',
								'bar'=>'blob')
								)
);

Möchte man beispielsweise die id des zweiten Arrays bekommen schreibt man einfach:

$Res = Set::extract('/foo[2]/id', $datas);

Oder das bar von der id 456:

$Res = Set::extract('/foo[id=456]/bar', $datas);

Oder alle die eine id mit einem t1 drin haben:

$Res = Set::extract('/foo[id=/t1/]', $datas);

Man kann auch mehrere Bedingungen einbauen:

$result = Set::extract('/Posts[id=pete][bar=0]/.',

Leave Your Comment