Class ArrayQuery
Zugriff auf Arrays mittels DataQueries.
DataQueries erlauben den einfachen Zugriff auf Objekte mittels verketteter
Abfragen. Die ArrayQuery erleichtert das Erstellen von Dataqueries deren
Daten aus mehrdimmensionalen Arrays besteht.
Wichtiger Hinweis: Da PHP in den offset-Funktionen nicht
mit Referenzen arbeitet, functioniert unset($dataset[0]['col1']);
nicht. Das Verhalten ist auch im Bug-Eintrag https://bugs.php.net/bug.php?id=34783
genauer beschrieben.
$a = array(); $a[] = array('k'=>'A','i'=>'I','j'=>'K'); $a[] = array('k'=>'B','i'=>'J','j'=>'L'); $a[] = array('k'=>'C','i'=>'L','k'=>'M'); $dataquery = new \Alvine\Data\ArrayQuery($a); $result = $dataquery->where(function($k, $v) { return $v['k']>'D'?true:false; })->orderBy(function($a, $b) { if($a['k']==$b['k']) return 0; return ($a['k']<$b['k'])?1:-1; })->each(function($k, $b) { print($k.': '.$b['k']."; "); }); // Das Ergebnis ist array(2=>array('k'=>'M','i'=>'L')
- Alvine\Core\Alvine implements Serializable uses Alvine\Core\SerializableImplementation
- Alvine\Data\DataQuery implements Iterator, ArrayAccess, Countable
- Alvine\Data\ArrayQuery
Namespace: Alvine\Data
Package: Alvine\Data
Category: Framework
License: Licence
Author: schukai GmbH info@schukai.de
Version: Release: $Revision: 173 $
Since: 20110917
See:
Link: Alvine
Link: Array-Referenz-Bug
Located at data/ArrayQuery.class.php
Package: Alvine\Data
Category: Framework
License: Licence
Author: schukai GmbH info@schukai.de
Version: Release: $Revision: 173 $
Since: 20110917
See:
Alvine\Data\ArrayWrapper
Link: Alvine
Link: Array-Referenz-Bug
Located at data/ArrayQuery.class.php
public
|
|
public
array
|
__clone(),
append(),
count(),
current(),
each(),
filter(),
first(),
getCount(),
getDataObject(),
groupBy(),
key(),
last(),
next(),
offsetExists(),
offsetGet(),
offsetSet(),
offsetUnset(),
orderBy(),
rewind(),
select(),
skip(),
take(),
unique(),
valid(),
where()
|
__call(),
__get(),
__set(),
__toString(),
equals(),
getClass(),
getClone(),
getClosure(),
getHashCode(),
getID(),
getShortID(),
isCallable(),
isInstanceOf(),
propertyExists()
|
serialize(),
unserialize()
|
checkAndAdjustSerialisation(),
serialize(),
unserialize()
|
APIVERSION,
IDENTIFICATION,
SERIALVERSION,
VERSION
|
$data
|
$hash,
$properties
|