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

    Eliminare un passaggio del codice

    Ciao,
    sto cercando di ottimizzare una parte di codice che si può semplificare così:
    Codice PHP:
    function foo($bee) {
    $a = array(102530);
    return 
    $a $bee;

    Se voglio estrarre il primo elemento di foo(5) devo per forza fare 2 passaggi:
    Codice PHP:
    $x foo(5);
    $result $x[0]; 
    perché PHP non accetta questo:
    Codice PHP:
    $result foo(5)[0];
    // e neanche guidando l'heap con le parentesi:
    $result = (foo(5))[0]; 
    Esiste una sintassi abbreviata per questo passaggio?
    Emanuele DG
    <?php echo "Proverbio zen(d): vivi ogni giorno come se fosse il ".date('d M Y', time()); ?>
    Intellectual property

  2. #2

    up!

    up
    Emanuele DG
    <?php echo "Proverbio zen(d): vivi ogni giorno come se fosse il ".date('d M Y', time()); ?>
    Intellectual property

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    595
    Puoi creare due funzioni
    Codice PHP:
    function foo($bee) {
    $a = array(102530);
    return 
    $a $bee;
    }
    function 
    foo2($bee,$ind)
    {
      
    $a foo($bee);
      return 
    $a[$ind];
    }
    $result foo(5,0); 
    Se vuoi avere in ritorno ENTRAMBI i valori puoi invece fare in questo modo
    Codice PHP:
    function foo($bee) {
    $a = array(102530);
    return 
    $a $bee;
    }
    function 
    foo2($bee,$ind)
    {
      
    $a foo($bee);
      return array(
    $a,$a[$ind]);
    }
    list(
    $x,$result) = foo2(5,0); 

  4. #4
    Grazie Leilond,
    Il codice che ho postato era semplificativo e quindi molto ridotto rispetto a quello della funzione originale che è più pesante, riceve 6 argomenti e alcuni sono array.
    Siccome viene eseguita all'interno di un foreach, sto ottimizzando le operazioni all'interno, assegnazioni comprese.

    Una scrittura compressa (come JavaScript spesso accetta) senza ricorrere alla seconda funzione sarebbe stata la cosa migliore ma sembra che non si possa fare, quindi vedo se riesco ad implementare nel modo giusto la tua soluzione.
    Emanuele DG
    <?php echo "Proverbio zen(d): vivi ogni giorno come se fosse il ".date('d M Y', time()); ?>
    Intellectual property

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.