Caratteri jolly ed array

  • Creatore Discussione Creatore Discussione Monital
  • Data di inizio Data di inizio

Monital

Utente Attivo
15 Apr 2009
778
2
18
Buongiorno,

Avrei un altro problemino, non sapevo in realtà descrivere il rpoblema nel titolo, cmq mi spiego

Ho un file in php così composto

PHP:
<?php exit(); ?>
antonio|bari|2||0
Paolo|Venezia|1|Ve-Caorle,Ve-Chioggia,|1

praticamente qeusto file è una sepcie di database permessi, in sostanza c'è un file che estrare questi dati. tipo se trova che antonio ha coem citta VE-Caorle, lo fa a ccedere alla pagina VE-Caorle

il mio problema e che vorrei modificarlo in una cosa del genere

PHP:
<?php exit(); ?>
antonio|bari|2||0
Paolo|Venezia|1|<php echo "VE"- $X;?> |1 //al posto della x dvorebbe esserci questo ipotetico carattere jolly che mi dice di accettare tutte le citta con suffisso VE.

al posto della x dvorebbe esserci questo ipotetico carattere jolly che mi dice di accettare tutte le citta con suffisso VE. si può fare?

Inoltre tutte le città devono essere separate da una virgola (VE-Caorle,Ve-Chioggia, etc.)e qui entra in gioco l'array.

Suggerimenti?
Thanke
 
Ti consiglio di dare un'occhiata alla funzione fnmatch() di PHP: http://it.php.net/manual/en/function.fnmatch.php. Esempio:
PHP:
var_dump(fnmatch('VE-*', 'VE-Caorle'));
Visualizza:
Codice:
bool(true)


ok funziona anche con l'array però mi restituisce solo vero o Null con var dump e con print_r mi da 1 per ogni nome trovato.

Invece a me servirebbe che mi lista tutti i nomi che trova che iniziano con VE-

dal manuale php non riesco a comprendere come adattarlo al mio caso
 
Allora allora forse ho un idea su come aggirare l'ostacolo

se usassi le funzioni erp aprire le dir?

io ho questi file in una dir
VE-Caorle.php
VE-Chioggia.php
BA-Monopli.php
FG-Cerignola.php

ora mi basterebbe che da un form seleziono VE e questo mi apre la dir e mi elenca tutti i file con suffisso VE- e senza l'estensione

quindi visualizzarmi

Caorle,Chioggia

Conosco il codice epr aprire la dir e listarmi tutti i file però proprio non ne vengo a capo come farlgi capire di listarmi solo i file con suffisso VE- ed escludermi il suffisso nella stampa a video.

Magari così è più semplice
 
allora ho risolto
PHP:
$list = $suffisso;
$dir = opendir($dir);
$files = array();
while($file_name = readdir($dir)) {
	if ((strpos($file_name, $list) !== false) && (strpos($file_name, $list) === 0)) {
		if(($file_name != ".") && ($file_name != ".."))	{
			$files[] = $file_name;
		}
	}
}
closedir($dir);
sort($files);
reset($files);
foreach($files as $final){
$final = basename($final, "txt"); 
echo $final;
}

allora fin qui ci sono, in realtà è solo una chicca che chiedo erpchè facendod elle prove funziona bene però c'è un imprecisione

allora per poter poi avere la lista unite dalla virgola bisogna implodere però l'implode normalmente non funge forse perchè si tratta di un array difatti

PHP:
 $final = implode(",", $final);
non restituisce nulla

allora ho pensato di creare un ciclo for
PHP:
$tot=count($files);
for($i=1;$i<=$tot;$i++){
    $array[$i] = implode(",", $files);

}
foreach($array as $final){
$final = basename($final, ".txt"); 
echo $final;
}

così funge nels enso che mi lista gli array divisi con la virgola e ilfile incluso in quello priciaple funge correttaemnte

però in realtà la stampa a video mi fa vedere la lista quante volte è $i, come si fa ad uscire dal ciclo for per poter vedere una sola volta la lista?
 

Discussioni simili