Meerdere variabelen returnen in functie

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Guido  -

Guido -

17/11/2018 14:02:12
Quote Anchor link
Hallo,


Ik heb een WordPress functie die 3 extra variabelen toevoegt aan een array.

Voor zover ik weet moet ik bij de 2e en volgende var .= ipv = gebruiken, maar ik merk dat het ook werkt als ik bij all vars = of .= gebruik.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
function mijn_functie( $vars ) {
    $vars[] = 'var1';
    $vars[] .= 'var2';
    $vars[] .= 'var3';
    return $vars;
}


Komt dit doordat WordPress het zo ook accepteert, of zie ik iets over het hoofd?

Guido
Gewijzigd op 17/11/2018 14:02:59 door Guido -
 
PHP hulp

PHP hulp

20/03/2019 23:18:25
 
Adoptive Solution

Adoptive Solution

17/11/2018 14:28:19
Quote Anchor link
Als ik iets niet zeker weet, kijk ik in de handleiding :

http://php.net/manual/en/function.array-push.php

En dan proberen.
 
Ben van Velzen

Ben van Velzen

17/11/2018 15:32:00
Quote Anchor link
Ja, je ziet iets over het hoofd. Met name de stapel notices die je om de oren vliegen als je .= gebruikt op deze manier.
 
Ozzie PHP

Ozzie PHP

17/11/2018 18:14:50
Quote Anchor link
.= gebruik je om strings aan elkaar te plakken. Niet bij een array. $vars[] is een array. Probeer het zo:

$vars[][] = 'var1';
$vars[][] = 'var2';

enz.
 
Guido  -

Guido -

18/11/2018 00:15:09
Quote Anchor link
Bedankt voor jullie reacties. Duidelijk nu.

Quote:
Als ik iets niet zeker weet, kijk ik in de handleiding


Ik wist de naam van deze operator niet, vandaar ;-)

Maar nu wel (concatenating assignment operator).
 
Adoptive Solution

Adoptive Solution

18/11/2018 00:21:03
Quote Anchor link
Het primaire probleem beschrijf je in de eerste zin :

"3 extra variabelen toevoegt aan een array"

Dat komt vanzelf de vraag : hoe was 't ook alweer?
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.