Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it L'avatar di james
    Registrato dal
    Jun 2002
    Messaggi
    1,481

    Richiamare funzioni dentro stringhe

    Ho trovato online questo esempio di codice

    Codice PHP:
    define('A''ciao');
    $constant='constant';
    $str="questa è la costante {$constant('A')};
    echo 
    $str
    Praticamente mi sembra di capire che $constant è diventata e usata come una funzione?? Ma non è definita come function, ed inoltre io mi aspettavo che messa così non chiamasse la funzione constant ma che richiamasse la stringa 'constant'...riuscite a fare un po' di chiarezza? Il mio scopo era poter richiamare costanti dentro stringhe heredocs e sono arrivato a questo esempio che...funziona...ma non capisco perché ...

  2. #2
    La funzione constant() restituisce il valore di una costante. Il fatto che il tutto sia racchiuso tra parentesi graffe:

    Codice PHP:
    {$constant('A')} 
    fa sì che la variabile $constant venga sostituita dal suo valore "constant" e che così venga eseguita la funzione:

    Codice PHP:
    constant('A'
    che restituisce appunto: ciao
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  3. #3
    Utente di HTML.it L'avatar di neroux
    Registrato dal
    Aug 2009
    Messaggi
    1,973
    niente, scusate

    www.sitemeer.com » Quando un sito pare irraggiungibile

    Se ti piace ci puoi trovare anche su Facebook

  4. #4
    Utente di HTML.it L'avatar di james
    Registrato dal
    Jun 2002
    Messaggi
    1,481
    Originariamente inviato da satifal
    La funzione constant() restituisce il valore di una costante. Il fatto che il tutto sia racchiuso tra parentesi graffe:

    Codice PHP:
    {$constant('A')} 
    fa sì che la variabile $constant venga sostituita dal suo valore "constant" e che così venga eseguita la funzione:

    Codice PHP:
    constant('A'
    che restituisce appunto: ciao
    quindi è un po come se si facesse una cosa del genere?
    Codice PHP:
    $constant = function($cons){
       return 
    constant($cons);
    };
    define('A''ciao'); 
    $str="questa è la costante {$constant('A')}
    echo 
    $str
    è esattamente la stessa cosa?! solo che la prima volta la sintassi è più concisa? Le parentesi graffe non servono solo per gli array nelle stringhe? Non sapevo che il parser tentasse di eseguire funzioni...chiaro che...se anziché scrivere {$constant('A')} avessi scritto semplicemente {$constant} avrebbe stampato "questa è la costante constant" giusto? Il fatto che metto le parentesi tonde forza il parser, per tipizzazione a riferirsi a $constant non come valore stringa ma come riferimento della funzione, corretto? Ho capito bene?

  5. #5
    Originariamente inviato da satifal
    La funzione constant() restituisce il valore di una costante.
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

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.