Door
Casper B
op 24-11-2012 20:16
gewijzigd op 24-11-2012 20:31
3.391 views
Beste allemaal,
Momenteel ben ik bezig op PHP onder de knie te krijgen. Nu ben ik op een punt gekomen, waar ik even niet uit kom. Het gaat om het volgende.
Wat wordt er precies met het volgende bedoeld en wat doet het precies: =>
Mijn excuus, dat is inderdaad een typefout. Ik heb het aangepast.
Betreft mijn vraag.
Als ik het goed mag begrijpen, is de array in bovenste voorbeeld aangemaakt en heeft een waarde van sleutel, die je vervolgens toekent aan waarde?
Ik begrijp nog niet helemaal wat de => doet?
De key is te vergelijken met een variabel, waar je een waarde aan toekent?
Dit is inderdaad een key => value paar. Je moet het zo zien, in het algemeen gebruik je de = operator om waardes aan iets toe te wijzen (vaak een variabele):
<?php
$foo = 'bar';
?>
Je zou dan in array's zoiets verwachten:
<?php
$cat = array(
'foo' = 'bar',
'baz' = 'lorem',
);
?>
Helaas werkt PHP niet en gebruiken ze daarvoor de => operator:
<?php
$cat = array(
'foo' => 'bar',
'baz' => 'lorem',
);
?>
De code die je gaf heb je zeer waarschijnlijk uit een WordPress code. De __() is gewoon een functie zoals isset($var) dat ook is. De __() functie is aangemaakt door WordPress en wordt gebruikt om strings te vertalen.
Oke thnkx, het is duidelijk!
Haha ja, die code komt vanuit een custom post type van WordPress. Oke dus de 2 underscores gebruik je om een tekst te vertalen. maar waarom staat het dan niet als volgt in de code verwerkt:
'label' => 'Portfolio',
Dankjewel alvast.
[size=xsmall]Toevoeging op 25/11/2012 12:40:26:[/size]
Beste Wouter,
Oke thnkx, het is duidelijk!
Haha ja, die code komt vanuit een custom post type van WordPress. Oke dus de 2 underscores gebruik je om een tekst te vertalen. maar waarom staat het dan niet als volgt in de code verwerkt:
Zo kan het, alleen zo roep je de functie __ niet meer aan. De functie __ zal iets uitvoeren waarbij hij kijkt of de string in een vertaal bestand staat en vervolgens geeft hij de vertaalde string terug. Die string wordt opgeslagen in de 'label' key van de array. Dat is dus hetzelfde wat jij hier doet door direct een string op te slaan, met als enige verandering dat je nu geen extra handelingen meer uitvoert.
Oke, dus als ik het zo mag zien is, de functie __ ervoor om een woord in dit geval "Portfolio" te kunnen vertalen.
Dut als voorbeeld als ik mijn WP installatie op ENG heb staan en er wordt bijvoorbeeld "Businesses" gebruikt als een label naam voor die custom post type, en ik vervolgens de taal verander naar NL. Dan zal de custom post type label opeens "Bedrijven" heten?