Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    92

    [as2] SendAndLoad array associativo

    Salve a tutti,

    avrei bisogno di passare ad un file php da flash un array associativo, ma ho dei problemi, suggerimenti?

    grazie
    juhzam

  2. #2
    e se gli passi un array normale .......

    la verità non è una meretrice che si getta al collo di chi non la vuole ma anzi essa è dotata di una così altera bellezza che anche chi sacrifica tutto per ottenerla non è sicuro di averla raggiunta !

  3. #3
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,780
    Ciao.

    Da quel che ne so non puoi normalmente passare nè array associativi nè tantomeno array sequenziali.

    In qualunque caso dovrai passare i dati come stringa in formato mime.

    Ad es:
    mioarray=val1,val2,val3

    Solitamente si usa la funzione join (o "implode" in php) per convertire un array in una stringa da poter passare a flash.
    Da flash volendo potrai ricavarne nuovamente un array tramite la funzione split.

    Tuttavia questo è applicabile nel caso di array sequenziali.
    E' da tener conto inoltre che gli array associativi in flash non sono altro che istanze della classe Object a cui non è possibile applicare i normali metodi specifici per gli array.

    Per convertire l'array associativo in stringa ti servirà ciclare gli elementi in esso contenuti.
    In questo caso può esserti utile il ciclo "foreach" in php per elaborare la stringa dei dati "chiave,valore" di ogni elemento, mentre da flash puoi rielaborare l'array utilizzando l'analogo ciclo "for in".

    Ad esempio in php avrai una roba del genere:
    Codice PHP:
    <?php
      $arr
    ["nome"] = "pippo";
      
    $arr["cosa"] = "penna";
      
    $arr["citta"] = "pisa";

      
    $itm = array();
      foreach(
    $arr as $key => $val){
        
    $itm[] = $key.":".$val;
      }
      echo 
    "arr=".implode(","$itm);
    ?>
    In flash sarà quindi restituita la variabile "arr" che avrà valore "nomeippo,cosaenna,cittaisa".

    Volendo ottenere nuovamente un array associativo, in flash puoi fare una cosa del genere:
    Codice PHP:
    var str "nome:pippo,cosa:penna,citta:pisa";
    var 
    obj = [];
    var 
    itm str.split(",");
    for (var 
    id in itm) {
        var 
    itm[id].split(":");
        
    obj[e[0]] = e[1];
    }
    // faccio un eventuale pulizia
    delete str;
    delete itm;
    delete id;
    delete e
    La variabile "obj" è in pratica l'array associativo rielaborato.

    Ovviamente devi fare attenzione che non ci sia conflitto tra i dati e i caratteri di separazione.
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

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.