Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2008
    Messaggi
    28

    passare dati da funzione

    PROBLEMA IDIOTA:

    Come passo un valore generato in una funzione?

    Codice PHP:
    <?php  function InitLingua(){
               
    $path='translator.inc';
               
    $file=fopen($path,"r") or exit("Unable to open file!");
               
    $lines count(file($path))-1;
               for (
    $i=0;$i<=$lines;$i++) {
                          
    $temp fgets($file);
                          
    //i valori nel file sono scritti così: var|ita|eng
                          
    $arrTemp=explode("|",$temp);
                          
    $trad[$i]["var"] = $arrTemp[0];
                          
    $trad[$i]["ita"] = $arrTemp[1];
                          
    $trad[$i]["eng"] = $arrTemp[2];
                          }
               
    fclose($file);
               }

    InitLingua();
    /* inutile dire che a video non viene mostrato nulla... 
    Come faccio a scrivere a video le seguenti 2 variabili?*/
    echo $trad[0]["ita"];
    echo 
    $lines;
    ?>

  2. #2
    http://php.net/manual/en/language.variables.scope.php

    in questo caso devi mettere un return alla fine della funzione che ti restituisca la variabile che ti interessa
    The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2008
    Messaggi
    28
    grazie della risposta celere daniele!

    ho inserito un return $trad; alla fine della funzione, ma non funziona... qualche idea?

  4. #4
    Utente di HTML.it
    Registrato dal
    Dec 2008
    Messaggi
    28
    ho risolto... bastava mettere un global $trad; all'inizio della funzione!

    Grazie mille!!!!!!!!!!!

  5. #5
    si, certo, in quel modo funziona pure, ma è il modo peggiore utilizzabile

    codice:
               fclose($file); 
               return $trad;
               } 
    
    $altraVariable = InitLingua();
    echo $altraVariable[0]["ita"];
    dovresti partire dalle basi di php
    The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand

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.