Visualizzazione dei risultati da 1 a 7 su 7

Discussione: Array

  1. #1

    Array

    Ho questa situazione su alcune valute che vorrei intabellare: 3 valute (usd, eur, gbp) per 4 oggetti (a,b,c,d) da mostrare.
    Ho delle classi e funzioni che mi passa un servizio a pagamento che non posso toccare e che per ora ho utilizzato in questo modo:
    codice:
    $param_USD = array('Types' => "A,B,C,D", 'Currency' => "USD");
    $param_EUR = array('Types' => "A,B,C,D", 'Currency' => "EUR");
    $param_GBP = array('Types' => "A,B,C,D", 'Currency' => "GBP");
    
    $result_USD = $client->FunzioneCheMiPassano($param_USD);
    $result_EUR = $client->FunzioneCheMiPassano($param_EUR);
    $result_GBP = $client->FunzioneCheMiPassano($param_GBP);
    
    for($m=0; $m<=3; $m++)
    {
    	$Bid_USD = $result_USD->FunzioneCheMiPassanoRisultato->Qualcosa[$m]->Valore;
    	$Bid_EUR = $result_EUR->FunzioneCheMiPassanoRisultato->Qualcosa[$m]->Valore;
    	$Bid_GBP = $result_GBP->FunzioneCheMiPassanoRisultato->Qualcosa[$m]->Valore;
    ... ...
    In pratica l'indice dell'array 0,1,2,3 equivale ad A,B,C,D e da qui mi costruisco le tabelle.

    Come fareste per ciclare ulteriormente evitando la tripla riga di codice per ogni valuta?
    Fantasupermegafavolipermeramagicultra irresistibili
    4 10 30 100 1001 personaggi insuperabili fantaincredibili ultraimpossibili iperterribili irresistibili!!!

    "... a quell'età ... bastava un dito per fare la pace ..."
    fotine

  2. #2
    Sai che l'ho riletto 3 volte e non ho capito? E' sera e sono stanco ma non capisco. Che risultato vuoi ottenere facendo cosa?
    Ce l'ho fatta! - ItalianPixel -

  3. #3
    Effettivamente non si spiega bene...

    Un esempio potrebbe essere avere una tabella tipo questa, in cui A,B,C,D sono ad esempio, marche automobilistiche:



    |-----------------------
    | A -> AUDI
    |
    | Valuta | Domanda | Richiesta
    | UsDollar | 10 | 20 |
    | Euro | 10 | 20 |
    | Gbp | 10 | 20 |
    |-----------------------
    |
    | B ->TOYOTA
    |
    | Valuta | Domanda | Richiesta
    | UsDollar | 10 | 20 |
    | Euro | 10 | 20 |
    | Gbp | 10 | 20 |
    Fantasupermegafavolipermeramagicultra irresistibili
    4 10 30 100 1001 personaggi insuperabili fantaincredibili ultraimpossibili iperterribili irresistibili!!!

    "... a quell'età ... bastava un dito per fare la pace ..."
    fotine

  4. #4
    Quindi vorresti ottenere..?
    Perché non riesco a capire cosa vuoi ciclare da dove (db, menu a tendina) se l'array è statico o dinamico... Spiegalo come ad un bambino (io )
    Comunque credo che te la possa cavare con un array dentro un array, più o meno così:
    Codice PHP:
    $array=array(array('tipi'=>array('A','B','C','D'),'USD'=>array('domanda'=>'10','richiesta'=>'20'), 'EUR'=>array('domanda'=>'10','richiesta'=>'20'), 'GBP'=>array('domanda'=>'10','richiesta'=>'20') ) );
    print_r($array); 
    Per estrarre poi la valuta giusta, come ad esempio la domanda dei tipi in valuta USD, basta che fai:
    Codice PHP:
    echo $array[0]['USD']['domanda'];
    //per quella in euro
    echo $array[0]['EUR']['domanda'];
    //per la richiesta in pounds
    echo $array[0]['GBP']['richiesta']; 
    e via discorrendo.
    Gli array sono portentosi! Poi per verificare se un certo dato è nell'array, ad esempio B, fai:
    Codice PHP:
    if(in_array('B',$array[0]['tipi'])){
        echo 
    "La lettera B è presente nell'array";

    e se B sarà nell'array 'tipi' del primo array ( [0] ) verrà scritto a video che c'è. Ovviamente puoi settare variabili o fare quello che ti pare, come ad esempio far visualizzare dall'utente, dopo una scelta da menu a tendina, solo i dati che interessano B.
    Attenzione che in_array è case sensitive, quindi occhio alle maiuscole.
    Dimmi se è quello che cercavi.
    Ce l'ho fatta! - ItalianPixel -

  5. #5
    Originariamente inviato da portapipe
    Quindi vorresti ottenere..?
    Perché non riesco a capire cosa vuoi ciclare da dove (db, menu a tendina) se l'array è statico o dinamico...
    Vorrei avere, in cima alla pagina php, una serie di configurazioni ... che poi verranno lette dentro l'array.
    Le variabili fisse che vorrei impostare sono:
    Marca (A,B,C,D)
    Valuta (Usd, Eur, Gbp ...)
    Quindi se fisso 3 valute (ma un domani potrei aggiungerne altre) devo ottenere un tabella con tre righe (vedi tabella d'esempio nel post precedente)
    Questa tabella sarà ripetuta per quante marche ho (nell'esempio è ripetuta 4 volte per A,B,C,D).

    Quindi volevo fare un ciclo che vede quante marche sono per poter creare le tabelle (apro il <table>) e al suo interno dovrebbe essercene un altro che legge quante valute ho per crearmi le righe di ogni singola tabella (<tr><td>....)

    I valori di domanda/offerta mi vengono estratti da alcuni servizi sul web.
    Nessun Db da utilizzare.
    Fantasupermegafavolipermeramagicultra irresistibili
    4 10 30 100 1001 personaggi insuperabili fantaincredibili ultraimpossibili iperterribili irresistibili!!!

    "... a quell'età ... bastava un dito per fare la pace ..."
    fotine

  6. #6
    Utente di HTML.it L'avatar di Grino
    Registrato dal
    Oct 2004
    Messaggi
    739
    Riprendendo il tuo codice che ne dici di...

    Codice PHP:
    $valute=array("USD""EUR""GBP");
    $param = array('Types' => "A,B,C,D"'Currency' => $valute);
    $result $client->FunzioneCheMiPassano($param);

    for(
    $m=0$m<=3$m++)
    {
        foreach(
    $valute as $valuta)
        
    $Bid[$valuta] = $result->FunzioneCheMiPassanoRisultato->Qualcosa[$m]->Valore[$valuta];
    ... ... 
    Il ciclo più esterno ti da le righe e quello più interno le colonne. Se vuoi avere le valute sulle righe e le marche sulle colonne devi scambiare i due cicli ovvero eseguire prima il foreach al cui interno apri una riga e poi il for al cui interno popoli le celle.
    Siamo sempre troppo gelosi delle nostre grandi piccole opere! - Grino inedito.
    Lavori e Lavoretti

  7. #7
    Qui mi sembrava di essermi avvicinato di molto a quello che volevo... MA ottengo un Errore:
    Notice: Trying to get property of non-object in /Users/..../pagina.php on line 36

    Che è questa
    $Ask = $result->FunzioneDiUnServizioAPagamentoResult->CarQuote->Ask;


    codice:
    $marche = array("Audi", "Bmw", "Toyota", "Volswagen");
    $valute = array("USD", "EUR", "GBP");
    
    foreach ($marche as $val_marche)
    {
    	echo "Marca :" . $val_marche . "
    ";
    	echo "<table border='0'>
    			<tr>
    				<th>Val</th>
    				<th>Bid</th>
    				<th>Ask</th>
    	";
    
    	foreach ($valute as $valore)
    	{
    		$param = array('Types' => "Audi,Totota,Bmw,Volswagen", 'Currency' => $valore);		
    		$result = $client->FunzioneDiUnServizioAPagamento($param);
    
    		$Bid = $result->FunzioneDiUnServizioAPagamentoResult->CarQuote->Bid;
    		$Ask = $result->FunzioneDiUnServizioAPagamentoResult->CarQuote->Ask;
    	
    		echo "<tr>";
    		echo "	<td>$valore</td>
    				<td>$Bid</td>
    				<td>$Ask</td>";
    		echo "</tr>";
    		
    	}
    	echo "</table>";
    
    }
    Fantasupermegafavolipermeramagicultra irresistibili
    4 10 30 100 1001 personaggi insuperabili fantaincredibili ultraimpossibili iperterribili irresistibili!!!

    "... a quell'età ... bastava un dito per fare la pace ..."
    fotine

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.