La questione si sta chiedendo si può rispondere chiedendo 2 domande:
- E 'fattibile?
- È una buona idea farlo in questo modo?
È fattibile?
Sì! Non è necessario memorizzare la matrice in una variabile e riutilizzarla in un secondo momento.
Per esempio, si potrebbe fare:
$imageAlt = get_field('image_field')['alt'];
Nota: Questo funziona in PHP 5.4+ e si chiama: Array dereferencing.
Ma questa non è l'unica considerazione ...
E 'una buona idea per farlo in quel modo?
No. In molti casi non è una buona idea. La funzione get_field()
, a seconda del contesto, è probabilmente che fa molto lavoro e, ogni volta che lo chiami, lo stesso lavoro viene donato più volte.
Supponiamo di utilizzare la funzione count()
. Conta il numero di elementi in un array. Per fare ciò, deve scorrere tutti gli oggetti per ottenere il valore.
Se si utilizza la funzione count()
ogni volta che è necessario convalidare il numero di elementi in un array, si sta eseguendo il conteggio di ogni volta. Se hai 10 articoli nel tuo array, probabilmente non te ne accorgi. Ma se hai migliaia di elementi nel tuo array, questo potrebbe causare un problema di delay per calcolare il tuo codice (a.k.a. sarà lento).
Ecco perché vorresti fare qualcosa del tipo: $count = count($myArray);
e utilizzare una variabile anziché chiamare la funzione.
Lo stesso vale per la tua domanda.
Vuoi dire '$ alt = ($ f = get_field ('image_field'));'? –
@ ʰᵈˑ No, non l'ho fatto. Mentre ho aggiornato il codice ora, il risultato del tuo codice è che '$ alt' ha lo stesso valore di' $ f', mentre '$ alt = ($ f = get_field ('image_field')) ['alt']; 'imposta correttamente' $ alt' sulla chiave dell'array restituito dove '$ f' è il risultato della funzione. – Xorifelse
Ahhh sì, ho letto erroneamente –