Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14

Discussione: array key->value

  1. #1
    Utente di HTML.it L'avatar di leaf
    Registrato dal
    Oct 2012
    Messaggi
    316

    array key->value

    Ciao, nel mio sito ho un form che chiede la città di residenza che verrà inserita dall'utente. In base al valore che verrà inserito vorrei stampare anche il CAP (in automatico quindi).
    Per evitare di creare un array enorme (comunque le città che mi interessano sono solo 80 circa) pensavo di scrivere tutti i cap in un file di testo e poi confrontare con la città..ma come è possibile fare questo?

    cioè la mia idea sarebbe quella di creare un file .txt con dentro ad esempio:

    verona 37132
    milano xxxxx
    bolzano xxxxx

    e uno script che controlla il valore inserito dall'utente, poi entra nel file di testo e cerca il numero corrispondente a quel valore..

    qualche suggerimento?

    grazie
    l.

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2014
    residenza
    Voltati
    Messaggi
    913
    è più veloce un array:

    cap.php
    Codice PHP:
    return array(
        
    "verona" => 37137,
        
    "torino" => array(
            
    10121,
                    
    10122,
                    
    // ...
            
    ),
            
    // ...
    ); 
    Pagina che fa il controllo:
    Codice PHP:
    $cap = require("cap.php");
    foreach (
    $cap as $città => $cap_possibili) {
        
    // ....

    Ma come gestisci le città con più cap?
    No

  3. #3
    Utente di HTML.it L'avatar di leaf
    Registrato dal
    Oct 2012
    Messaggi
    316
    eh infatti..dunque..a me interessano i CAP della provincia di Verona, della quale, solo il comune di Verona ne ha più di uno..tutti gli altri comuni della provincia ne hanno solo uno..potrei fare un array dentro l'array come hai fatto tu nel codice qui sotto? ma poi come faccio la ricerca? potrei fare 2 cose separate..se la città inserita dall utente è verona, verona ha il suo specifio array, se è un altra città != da verona cerca nell'altro array..conosci altre soluzioni?
    grazie
    l.

    codice:
    "torino" => array(
            10121,
                    10122
    
    

  4. #4
    Utente di HTML.it L'avatar di leaf
    Registrato dal
    Oct 2012
    Messaggi
    316
    a parte il fatto delle città con più cap, sto cercando di stampare il corrispondente cap in base ad una variabile ($city) data..ma non value true la condizione if..i valori sono giusti e li riceve correttamente..cosa ho sbagliato?

    codice:
     foreach($array as $key => $value){
            if($city ==  $key)
                echo $value;
    }

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2014
    residenza
    Voltati
    Messaggi
    913
    prova a mettere un
    Codice PHP:
    else echo "'$city' '$key'"
    e vedi se stampa due cose uguali
    No

  6. #6
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Potresti avere quei dati in una tabella di un db e usare ajax per ricavare uno o più codici postali.
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  7. #7
    Utente di HTML.it L'avatar di leaf
    Registrato dal
    Oct 2012
    Messaggi
    316
    trovato, dovevo mettere strtolower per evitare problemi di maiuscole/minuscole
    grazie

  8. #8
    Utente di HTML.it L'avatar di leaf
    Registrato dal
    Oct 2012
    Messaggi
    316
    Quote Originariamente inviata da badaze Visualizza il messaggio
    Potresti avere quei dati in una tabella di un db e usare ajax per ricavare uno o più codici postali.
    non so cosa sia ajax

  9. #9
    Utente di HTML.it
    Registrato dal
    Feb 2014
    residenza
    Voltati
    Messaggi
    913
    Un modo per far comunicare client e server senza ricaricare la pagina... se non sai cosa sia ignora il suggerimento
    No

  10. #10
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    Scusa, ma se hai una array e un nome di chiave, perché usi foreach?
    Puoi fare semplicemente

    Codice PHP:
    $cap $array[$city]; 
    Se ti restituisce un array a sua volta (il caso di n cap per città) cicli solo questo

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.