PDA

View Full Version : [php] Interrogare una sequenza numerica (problema strano, credo....)


utrecht
08-10-2003, 15:39
...con la ricerca non ho trovato nulla che facese al caso mio... e quindi...

Problema: dato una sequenza di numeri in un campo di un db (2,4,5,6,9), come posso verificare se in questa sequenza c'è un numero che mi interessa?
Tipo, vorrei vedere se '3' è contenuto in quella sequenza e quindi fare qualcosa...
Forse sarà banale ma non ci riesco! :muro:
Grazie!!

cionci
08-10-2003, 18:14
if(isinteger(strpos($campodb, ",".$num.","))
|| isinteger(strpos($campodb, "(".$num.","))
|| isinteger(strpos($campodb, ",".$num.")")))
echo "Trovato!!!";

VICIUS
08-10-2003, 18:19
le parentesi sono presenti nel testo oppure le hai aggiunte tu ? perchè se non ci sono tutto diventa molto piu semplice. altrimenti prendi il codice di cionci.

ciao ;)

utrecht
08-10-2003, 20:19
....le ho aggiunte io.... ma quante cose sapete!!!!
Più semplice come diventa?
ri-grazie!!

VICIUS
08-10-2003, 20:23
per esempio puoi sempre fare cosi:


$lista = '1,2,3,6,9,10';

/* crea un array con un elemento per cella */
$elementi = explode (',', $lista);

if (in_array ('6', $elementi)) echo 'yuppi ! c\'è il numero';


ciao ;)

utrecht
08-10-2003, 23:19
Vista l'ora me ne approfitto...
Tanto per esercitarmi sugli array.. se volessi eseguire una funzione su ciascun elemento di un array (ad es. sempre fatto di numeri, tipo quello precedente):

array_walk($lista,'mia_funzione')
Ho seguito la guida, però come faccio ad elaborare il singolo elemento dell'array all'interno della funzione stessa?

grazie e buonanotte....

cionci
09-10-2003, 00:40
Preso dalla guida di PHP:

$frutta = array ("d"=>"limone", "a"=>"arancia", "b"=>"banana", "c"=>"mela");

function modifica (&$elemento1, $chiave, $prefisso) {
$elemento1 = "$prefisso: $elemento1";
}

function stampa ($elemento2, $chiave) {
echo "$chiave. $elemento2<br>\n";
}
echo "Prima ...:\n";
array_walk ($frutta, 'stampa');
reset ($frutta);
array_walk ($frutta, 'modifica', 'frutto');
echo "... e dopo:\n";
reset ($frutta);
array_walk ($frutta, 'stampa');

In pratica i primi due parametri della funzione che richiami sono il valore e la chiave dell'elemento...
Se vuoi modificare anche il valore elaborandolo all'interno della funzione allora passalo per riferimenti (&) come vedi nella funzione modifica...
Gli altri parametri da passare alla funzione li specifichi dopo il nome della funzione (vedi la stringa 'frutto' passata alla funzione modifica come $prefisso)...