Hoi,
Ik zoek de juiste formule voor in php die in Excel wel lukt

Voorbeeld:
A = Utrecht
B = Getal tussen 1 en 20

Als(A=Utrecht;als(B<10;"Nee";"Ja");als(B<10;"Misschien";"Ja"))

Dus als A = Utrecht en B is 9 dan Nee, als B is 11 dan Ja
en als A <> Utrecht en B is 9 dan Misschien, en als B is 11 dan Ja

Ik probeer:

if (A = 'Utrecht') {
if (B < 10) {
'Nee';
} else {
'Ja';
}
} else {
if (B < 10) {
'Misschien';
} else {
'Ja';
}
}

Kan iemand hier iets mee? Alvast bedankt voor elke positieve featback.
Een enkel is-teken gebruik je voor een toekenning (van een waarde aan een variabele).
Een dubbel is-teken gebruik je voor een vergelijking (tussen twee waarden).
Een driedubbel is-teken gebruik je voor een typegevoelige vergelijking (tussen twee waarden).

Verander dus:
A = 'Utrecht'
in:
A == 'Utrecht'

Een ezelsbrug om dit te onthouden is de volgende: zet de "waarde" voorop, dan krijg je een foutmelding wanneer je het tweede (of derde) is-teken vergeet, omdat je geen variabele kunt toekennen aan een waarde.

EDIT: ook doet een statement als 'Ja'; niet zoveel. Je zult dit als variabele moeten opslaan of als waarde moeten retourneren. Het zou dan logisch zijn om dit als een Boolse waarde op te slaan of te retourneren, dus ofwel de waarde false ofwel true.

En het zou natuurlijk helemaal netjes zijn als je hier een soort van generieke functie van kunt breien, maar dan zou er misschien meer soortgelijke functionaliteit (andere plaatsen en eventueel andere intervallen ofzo) moeten zijn voordat dat enige meerwaarde heeft.
Even kort door de bocht (variabelen in PHP beginnen altijd met een $-teken, dus ik heb er $A en $B van gemaakt):

$result = $A == 'Utrecht' ? ($B < 10 ? 'Nee' : 'Ja') : ($B < 10 ? 'Misschien' : 'Ja');
print($result);
Hoi Thomas en Rob, Dank je wel voor jullie reactie. Ik vroeg bij in eerste instantie af of een formule van
iF(iF(.else.))else(if(.else.)) wel zou kunnen in PHP maar dat kan dus gelukkig.
Ik heb door jullie antwoorden de puzzel opgelost. Bedankt!

Reageren