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; }