Visualizzazione risultati 1 fino 8 di 8

Discussione: trovare in quale variabile array c'è un dato valore

  1. #1
    Guest

    Talking trovare in quale variabile array c'è un dato valore

    salve a tutti
    mi farebbe molto comodo avere il vostro aiuto in questo passaggio altrimenti purtroppo per me mi toccherebbe riscrivere tutto il codice che riguarda questo argomento

    allora
    mettiamo che io ho una stringa che contiene il valore "cotoletta"
    e c'ho una serie di variabili:
    $var1 = array ("cotoletta",1,2,3);
    $var2 = array ("formaggio",2,3,7);
    $var3 = array ("bisteccona",19,123,41);

    bene vorrei fare in modo che a partire dalla stringa "cotoletta" io possa per esempio fare echo $variabiledovec'èlacotoletta[2]
    solo che non so come poter risalire a quale variabile ha "cotoletta" come valore.

    potete aiutarmi? grazie un milione in anticipo.

    (PS: no, non sto allestendo un alimentari online)

  2. #2
    Guest

    Predefinito

    Potresti creare un array multidimensionale di questo tipo:

    $array=array("var1"=>array ("cotoletta",1,2,3), "var2"=>array ("formaggio",2,3,7), "var3" =>array ("bisteccona",19,123,41));

    e per cercare il valore puoi usare in_array o array_search


    Ciaooo!!!!!!

  3. #3
    Guest

    Predefinito

    no a questo punto è più semplice che sul database ci scriva
    il nome della variabile direttamente (e non il nome dell'oggetto) così poi lo richiamo così:

    $codice = "01"; (magari estrapolato dal database)
    $propoggetto = $$codice;
    echo $propoggetto[3];

    (ho provato a fare direttamente echo $$codice[3] ma mi dà la quarta lettera della stringa codice :S -e cioé niente)

    credo sia meglio così, almeno me lo posso gestire meglio...

    grazie comunque debug, le tue risorse sono illimitate :D

    EDIT: ah già ke siamo in tema ho appunto dei problemini con le variabili puntatore (si kiamano così?)
    insomma quelle variabili che se hai una variabile
    $var = "gatto";
    allora hai anche una variabile
    $gatto = "cane";
    se fai così:
    echo $$var;
    esce fuori cane.

    fin qui tutto ok, ma ho dei problemi con gli array
    voglio fare un echo di un valore di un array che si chiama come il valore di un'altro array (che giochi di parole :D)
    avevo provato con
    echo $$arr[0][0]
    per stampare il valore 0 dell'array che ha nome uguale al valore zero dell'array di nome $arr. ma non va...
    certo si può fare:

    $stampa= $$arr[0];
    echo $stampa[0];

    e funziona, ma volevo sapere se c'era un sistema più condensato (mi dà mooolto fastidio ogni volta scrivere una variabile apposta)
    Ultima modifica di debug : 13-07-2006 alle ore 15.57.18

  4. #4
    Guest

    Predefinito

    1) ma se potevi usare il DB allora il problema non si poneva proprio! Potevi dirlo! :D

    2) non è che abbia capito molto... soprattutto nel tuo ultimo esempio... potresti fare un esempio concreto?


    Ciaoooooo!!!!!!!!

  5. #5
    Guest

    Unhappy

    1) no il database mi serve per un altra cosa... è da lì che ottengo la stringa da cercare in una variabile array.. e quindi c'entra poco.

    2) allora ti faccio l'esempio ke devo usare io:

    allora faccio un explode di una stringa con tutti i nomi degli oggetti, ne esce fuori un array giusto?

    mettiamo caso che il nome dell'oggetto sia al punto quattro, in questo caso
    $arr[3] identifica l'oggetto.

    in $arr[3] c'è la stringa "o01" che è il nome della variabile che contiene l'oggetto "gatto"

    $o01 = array("gatto",4,5,6);
    per avere gatto dovrei fare echo $o01[0] ma siccome non conosco il nome della variabile direttamente dovrei fare un puntatore:

    $$puntatore[0]

    ma siccome il puntatore è a sua volta $arr[3] dovrei fare

    $$arr[3][0]

    ma non funziona. ecco il mio problema

    PS: scusa per non aver fatto edit
    Ultima modifica di tbsclan : 13-07-2006 alle ore 18.16.27

  6. #6
    L'avatar di Leo91
    Leo91 non è connesso Altervistiano Junior
    Data registrazione
    28-03-2004
    Residenza
    alle tue spalle
    Messaggi
    728

    Predefinito

    Beh io farei così
    Codice PHP:
    $arra = array("cotoletta",1,2,3);
    $arrb = array("bisteccone",10,43,21);
    $arrc = array("faraona",100,234,12);
    if(
    $arra[0] == "cotoletta") { echo "qui c'è la cotoletta"; }
    Questo è ciò che vuoi??

  7. #7
    Guest

    Predefinito

    credo tu intenda questo:

    Codice PHP:
    ${$arr[3]}[0]
    cmq ti sei complicato la vita in una maniera assurda :P

  8. #8
    Guest

    Predefinito

    Citazione Originalmente inviato da zerosoftware
    credo tu intenda questo:

    Codice PHP:
    ${$arr[3]}[0]
    cmq ti sei complicato la vita in una maniera assurda :P



    era con le parentesi graffe????
    PORCA VACCA L'AVEVO FATTO CON LE TONDE E NON ANDAVA!

    PS:CONTO DI AVERE CENTINAIA DI VARIBILI OGGETTO E MIGLIAIA DI VARIABILI INVENTARIO, QUINDI IN REALTà MI SEMPLIFICO LA VITA

    Evita di scrivere tutto maiuscolo, equivale ad urlare.
    debug
    Ultima modifica di debug : 14-07-2006 alle ore 00.46.41

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •