Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it L'avatar di gabar-el
    Registrato dal
    Jun 2006
    Messaggi
    2,222

    dubbi riguardo le funzioni e alcuni suoi parametri

    Ciao, non riesco a capire la logica di una funzione.
    es:

    Codice PHP:
    function capitalize$str )
    {
    $str strtolower($str);
    $str{0} = strtoupper($str{0});
    echo 
    $str;    
    }
    capitalize("hEllO WoRld"); 
    2 domande:
    perché la funzione capitalize ha al suo interno una variabile? (che se non sbaglio qui si chiama metodo). Perché non funziona lo stesso senza? Non dico praticamente alla funzione di eseguire il codice che gli passo tra graffe? Huh
    perché devo dare alla variabile $str il parametro del primo carattere sia nella variabile stessa che nella funzione strtoupper? Non posso dichiarare la variabile normalmente e poi dirgli di applicare la funzione strtoupper al primo carattere della variabile?

    inoltre ho dei dubbi sulla differenza tra parametri e argomenti. Leggendo un libro c'è un pò di confusione. Ciò che è tra parentesi tonde quando la dichiaro è parametro o argomento? e ciò che c'è tra tonde quando la richiamo?

    spero di essere riuscito a spiegarmi. Grazie
    Si fanno sempre nuove scoperte

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709

    Re: dubbi riguardo le funzioni e alcuni suoi parametri

    Originariamente inviato da gabar-el
    Ciao, non riesco a capire la logica di una funzione.
    es:

    Codice PHP:
    function capitalize$str // definisci una funzione che accetta un parametro (es.: "hEllO WoRld")
    {
    $str strtolower($str); // il parametro che è passato lo trasformi tutto in minuscolo (es.: "hello world")
    $str{0} = strtoupper($str{0}); // il primo carattere lo ritrasformi in maiuscolo (es.: "Hello world")
    echo $str;    // stampo il risultato
    }
    capitalize("hEllO WoRld"); 
    2 domande:
    perché la funzione capitalize ha al suo interno una variabile? (che se non sbaglio qui si chiama metodo). Perché non funziona lo stesso senza? Non dico praticamente alla funzione di eseguire il codice che gli passo tra graffe? Huh
    perché devo dare alla variabile $str il parametro del primo carattere sia nella variabile stessa che nella funzione strtoupper? Non posso dichiarare la variabile normalmente e poi dirgli di applicare la funzione strtoupper al primo carattere della variabile?

    inoltre ho dei dubbi sulla differenza tra parametri e argomenti. Leggendo un libro c'è un pò di confusione. Ciò che è tra parentesi tonde quando la dichiaro è parametro o argomento? e ciò che c'è tra tonde quando la richiamo?

    spero di essere riuscito a spiegarmi. Grazie
    per il resto... c'è un pochino di confusione... purtroppo non faccio in tempo a scriverti tutte le risposte... magari dopo... :)

  3. #3
    2 domande:
    perché la funzione capitalize ha al suo interno una variabile? (che se non sbaglio qui si chiama metodo).
    In realtà quella è una variabile, e fine. In programmazione object-oriented potrebbe essere un attributo, ma è "locale" nel senso che serve solo a quella funzione, quindi non è neppure quello.
    Perché non funziona lo stesso senza? Non dico praticamente alla funzione di eseguire il codice che gli passo tra graffe? Huh
    perché devo dare alla variabile $str il parametro del primo carattere sia nella variabile stessa che nella funzione strtoupper? Non posso dichiarare la variabile normalmente e poi dirgli di applicare la funzione strtoupper al primo carattere della variabile?
    Ci sono molti metodi di scrivere una funzione, pressochè infiniti; quello che hai li è un modo di scriverla.
    Questa funzione prende la stringa che gli passi come parametro, la rende tutta minuscola, prende il primo carattere e lo rende maiuscolo.
    Avresti potuto fare una funzione che ti ritornasse solo il primo carattere "capitalizzato", ma in questo caso tutto il resto della stringa sarebbe rimasto maiuscolo-minuscolo.
    inoltre ho dei dubbi sulla differenza tra parametri e argomenti. Leggendo un libro c'è un pò di confusione. Ciò che è tra parentesi tonde quando la dichiaro è parametro o argomento? e ciò che c'è tra tonde quando la richiamo?
    sono praticamente la stessa cosa

    Codice PHP:
    function prova($stringa){
        return 
    $stringa."A";
    }
    echo 
    prova("Ciao"); 
    In questo caso $stringa è un parametro che assume il valore di "Ciao" quando richiami la funzione. Questa ritornerà "CiaoA"

    Spero di essere stato chiaro

  4. #4
    Utente di HTML.it L'avatar di gabar-el
    Registrato dal
    Jun 2006
    Messaggi
    2,222
    grazie a entrambi.
    una cosa soltanto. per quale motivo devo scrivere

    Codice PHP:
    $str{0} = strtoupper($str{0}); 
    se scrivessi
    Codice PHP:
    $str strtoupper($str{0}); 
    non otterrei la stessa cosa e perché no?
    la logica non sarebbe che applico alla variabile $str la funzione strtoupper al primo carattere della variabile stessa?
    grazie
    Si fanno sempre nuove scoperte

  5. #5
    Codice PHP:
    $str strtoupper($str{0}); 
    In questo caso, strtoupper($str{0}) ritorna solamente 1 carattere, il primo, maiuscolo. Quindi assegni a $str solo il primo carattere.
    Se invece fai $str{0} = , assegni al primo carattere della stringa il primo carattere della vecchia stringa maiuscolo.

  6. #6
    Utente di HTML.it L'avatar di gabar-el
    Registrato dal
    Jun 2006
    Messaggi
    2,222
    Grazie, ora ho capito molto meglio.
    Si fanno sempre nuove scoperte

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.