Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    Domanda concettuale sulle funzioni in PHP

    Salve a tutti.. Ho un problema molto semplice da spiegare

    Codice PHP:
    <?php

    $dati1 
    "tanti bei dati";
    $dati2 "altri dati ancora";
    $dati3 ecc.

    function 
    mostra_dati($dati) {

    echo 
    $dati;

    }

    mostra_dati("dati-1");


    ?>
    Naturalmente con questo programma il risultato è "dati-1", mentre vorrei che dentro la funzione quel $dati venisse considerato come un.. $$dati (la variabile che ha PER NOME l'argomento) e che il risultato fosse "tanti bei dati".

    E' possibile fare una cosa del genere?

  2. #2
    Utente di HTML.it L'avatar di carlo2002
    Registrato dal
    Jun 2002
    Messaggi
    2,743
    perchè non usare un array e foreach() ?
    Errare humanum est, perseverare ovest

  3. #3
    Originariamente inviato da carlo2002
    perchè non usare un array e foreach() ?
    Perché altrimenti dovrei ripetere il foreach per ogni array, con la conseguenza che se volessi modificare le istruzioni del foreach lo dovrei fare n-volte..

    E' proprio per questo che pensavo di usare una funzione. :master:

  4. #4
    Utente di HTML.it L'avatar di carlo2002
    Registrato dal
    Jun 2002
    Messaggi
    2,743
    potresti passare l'array ad una funzione in cui estrai i valori con foreach
    Errare humanum est, perseverare ovest

  5. #5

    Re: Domanda concettuale sulle funzioni in PHP

    Uhm potrei fare così..

    Codice PHP:
    <?php

    $dati1 
    "tanti bei dati";
    $dati2 "altri dati ancora";
    $dati3 ecc.

    function 
    mostra_dati($dati) {

    if (
    $dati == "dati-1"$operazione $dati1;
    if (
    $dati == "dati-2"$operazione $dati2;
    if (
    $dati == "dati-3") ...

    echo 
    $operazione;

    }

    mostra_dati("dati-1");


    ?>
    Anche se non è proprio elegante..

  6. #6
    Utente di HTML.it L'avatar di carlo2002
    Registrato dal
    Jun 2002
    Messaggi
    2,743
    oppure così

    Codice PHP:

    function mostra_dati($dati) {
       foreach (
    $dati as &$valore) {
          echo 
    $valore,"
    ;
          }
       }


    $dati[] = "tanti bei dati" ;
    $dati[] = "altri dati ancora" ;
    $dati[] = "ecc." ;

    mostra_dati($dati) ; 
    Errare humanum est, perseverare ovest

  7. #7
    No, non è possibile. Mi spiego. FUORI dalla funzione, puoi fare questo:

    codice:
    <?php
    
    $miei_dati = "punx not dead";
    $dati = "miei_dati";
    echo $$dati;
    
    ?>
    In questo modo apparirà "punx not dead". (sono stufo del solito "hello world" o "foo bar"...)
    Ma se devi farlo per forza dentro una funzione (perchè?) non puoi farlo perchè dovresti prima importare la variabile che ti interessa. Ma al momento dell'importazione (la prima riga di codice della funzione) dovresti già sapere qual è questa variabile, e non puoi usare il trucchetto della "variabile variabile". A meno che non importi tutte le variabili che potresti aver bisogno di visualizzare, cosa che però mi sembra terribile...

  8. #8
    Ah ecco.. Pensavo che come in altri linguaggi le variabili globali restassero valide nella funzione..

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 © 2024 vBulletin Solutions, Inc. All rights reserved.