Una delle più belle funzioni dei DB relazionali è senz’altro la “Where Clause”.
Però nei database di testo purtroppo non è presente ☹️
Ecco una funzione che serve per trovare da un array multidimensionale dei suoi valori o delle sue chiavi (ovvero ‘values’ o ‘key’ nel parametro $what) dicendo che valore ($value) si vuole trovare per quale chiave ($key).
È possibile limitare la ricerca a un numero di valori o a tutti i valori specificandola in $num.
La rilascio in pubblico dominio, ovvero potete farne quello che volete!
function whereClause($array, $key, $value, $num=-1, $what='values') {
if(!is_array($array) || count($array)==0) return false;
$r=array();
$i=0;
foreach($array as $k=>$v) {
# TODO: Just equal?
if($v[$key]==$value) {
$r[]=($what=='keys') ? $k : $v;
$i++;
if($i>=$num && $num>0) break;
}
}
return $r;
}