[risolto] array_key_exists e caratteri Jolly

  • Creatore Discussione Creatore Discussione natan81
  • Data di inizio Data di inizio

natan81

Nuovo Utente
27 Feb 2014
2
0
0
Ciao a tutti, purtroppo non riesco a risolvere un problema con la ricerca di chiavi in un array.

Mettendo di avere le seguenti chiavi nell'array $array (senza tener conto dei valori):
$array[casa]
$array[auto]
$array[casa di pippo]
$array[casa di pluto]


Se devo cercare la chiave di array auto, utilizzo il seguente codice:
array_key_exists[auto, $array];

Se invece dovessi cercare tutti le chiavi array contenenti la chiave casa, inserendo il seguente codice mi restituisce (giustamente) unicamente la chiave casa:
array_key_exists[casa, $array];

Esiste una possibilità di cercare una chiave con caratteri jolly?
Ad esempio:
array_key_exists[casa%, $array];

Grazie :)
 
ciao
penso proprio di no.
puoi provare a fare uno scrip del genere
PHP:
<?php
echo "<pre>";
$array['auto']="aa";
$array['casa di pippo']="bb";
$array['casa di pluto']="cc";
$cerca="casa";
$chiavi=array_keys($array);
$trovato="";
foreach($chiavi as $ind => $val){
	if(strrpos($val, $cerca) !== FALSE){
		$trovato=$val;
		break;
	}else{
		continue;
	}
}
var_dump($trovato);
echo "</pre>";
?>
output del var_dump
string(13) "casa di pippo"
però così si arresta alla prima occorrenza
facendo così trova tutte le chiavi con casa
PHP:
<?php
echo "<pre>";
$array['auto']="aa";
$array['casa di pippo']="bb";
$array['casa di pluto']="cc";
$array['topolino a una casa bella']="cc";
$cerca="casa";
$chiavi=array_keys($array);
$trovato="";
foreach($chiavi as $ind => $val){
	if(strrpos($val, $cerca) !== FALSE){
		$trovato[]=$val;
	}
}
var_dump($trovato);
echo "</pre>";
?>
output del var_dump
array(3) {
[0]=>
string(13) "casa di pippo"
[1]=>
string(13) "casa di pluto"
[2]=>
string(25) "topolino a una casa bella"
}
vedi tu quello che ti serve
 

Discussioni simili