PHP operator gezocht

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • aex351
  • Registratie: Juni 2005
  • Laatst online: 01:59

aex351

I am the one

Topicstarter
Ik zoek een manier dat het onderstaand stukje code via $a word uitgevoert terwijl $b ook true is, dus indien $a true is moet $b genegeert worden. maar indien er geen $a is moet $b niet genegeert worden. Is dit makkelijk en snel op te lossen met 1 operator ?

Ik heb al gekeken op php.net en heb een x aantal operators geprobeert maar tot dus ver geen succes.

PHP:
1
2
3
4
5
6
<?php
//schets
if ( $a || $b ) {
       echo 'text';
}
?>



edit :
Deze operator zoek ik , zoals omschreven :

"Je bedoelt dat het moet werken zoals in C en Java, dat de tweede expressie niet meer geëvalueerd wordt als de eerste al waar is? Als PHP zo niet in elkaar steekt, dan is er geen operator voor."

AND / OR / XOR is het niet

[ Voor 42% gewijzigd door aex351 op 10-10-2005 15:40 ]

< dit stukje webruimte is te huur >


Acties:
  • 0 Henk 'm!

  • JeRa
  • Registratie: Juni 2003
  • Laatst online: 30-04 10:28

JeRa

Authentic

Wat bedoel je met negeren? Die || operator die je daar zelf hebt gevonden doet precies wat jij wilt :) indien a==true en b==true, of a==true en b==false, of a==false e b==true.

ifconfig eth0 down


Acties:
  • 0 Henk 'm!

  • SinergyX
  • Registratie: November 2001
  • Laatst online: 22:12

SinergyX

____(>^^(>0o)>____

code:
1
2
3
4
5
6
if (!empty($a)) {
     echo 'text geval a';
}
else {
 echo 'geval b';
}


in alle gevallen dat $a gevult is, zal ie uitvoeren, in andere gevallen gaat else lopen?

Nog 1 keertje.. het is SinergyX, niet SynergyX
Im as excited to be here as a 42 gnome warlock who rolled on a green pair of cloth boots but was given a epic staff of uber awsome noob pwning by accident.


Acties:
  • 0 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 00:27

.oisyn

Moderator Devschuur®

Demotivational Speaker

Waarom zouden ze operators maken voor alle mogelijke manieren van de logica die je maar kunt bedenken? Is het niet gewoon handiger om wat je wilt even te verwoorden mbv AND en OR?

Als a is gezet en a is gelijk aan true, of als a niet is gezet en b is gelijk aan true

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


Acties:
  • 0 Henk 'm!

  • djexplo
  • Registratie: Oktober 2000
  • Laatst online: 07-07 15:40
Je bedoelt dus?
A B = C
0 0 0
0 1 1
1 0 1
1 1 1
Dat is gewoon een "OR"

'if it looks like a duck, walks like a duck and quacks like a duck it's probably a duck'


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Die or doet al precies wat je omschrijft?
Als a true is, en b is true, dan is de expressie true.
Als a true is, en b is false, dan is de expressie true (en wordt b genegeerd).
Als a false is, en b is true, dan is de expressie true (a wordt niet genegeerd).
Als a false is, en b is false, dan is de expressie false.

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • aex351
  • Registratie: Juni 2005
  • Laatst online: 01:59

aex351

I am the one

Topicstarter
Nee de OR (of) doet niet wat ik wil dat het moet doen. Ik gebruik de if () {} in een foreach loop, dat maakt het probleem eigenlijk iets groter.

$a en $b hebben beide 2 verschillende waardes, staan al van te voren vast. Nu is $a een $_GET en $b een waarde uit een db , $b moet de default waarde zijn. Dus indien $a niet is gezet moet $b worden weergeven, wanneer beide true zijn dan moet alleen $a worden weergeven of wanneer $b helemaal (nog niet) bestaat.

[ Voor 5% gewijzigd door aex351 op 10-10-2005 15:27 ]

< dit stukje webruimte is te huur >


Acties:
  • 0 Henk 'm!

  • disjfa
  • Registratie: April 2001
  • Laatst online: 03-07 14:47

disjfa

be

$b = isset($b) ? $b : false

Zo kan je voor je functie ervoor zorgen dat $b iig wel bestaat.

disjfa - disj·fa (meneer)
disjfa.nl


Acties:
  • 0 Henk 'm!

  • Confusion
  • Registratie: April 2001
  • Laatst online: 01-03-2024

Confusion

Fallen from grace

Je bedoelt dat het moet werken zoals in C en Java, dat de tweede expressie niet meer geëvalueerd wordt als de eerste al waar is? Als PHP zo niet in elkaar steekt, dan is er geen operator voor.

[ Voor 20% gewijzigd door Confusion op 10-10-2005 15:30 ]

Wie trösten wir uns, die Mörder aller Mörder?


Acties:
  • 0 Henk 'm!

  • aex351
  • Registratie: Juni 2005
  • Laatst online: 01:59

aex351

I am the one

Topicstarter
Confusion schreef op maandag 10 oktober 2005 @ 15:29:
Je bedoelt dat het moet werken zoals in C en Java, dat de tweede expressie niet meer geëvalueerd wordt als de eerste al waar is?
Ik heb geen kennis van C of Java, maar dat is precies wat ik zoek.

< dit stukje webruimte is te huur >


Acties:
  • 0 Henk 'm!

  • vriesdude
  • Registratie: Februari 2002
  • Laatst online: 19-09 19:14
aex351 schreef op maandag 10 oktober 2005 @ 15:17:
PHP:
1
2
3
4
5
<?php
if ( $a XOR $b ) {
       echo 'text';
}
?>
Als A of B waar is gaat ie verder, maar NIET wanneer beide waar zijn.

/dev/null


Acties:
  • 0 Henk 'm!

  • aex351
  • Registratie: Juni 2005
  • Laatst online: 01:59

aex351

I am the one

Topicstarter
vriesdude schreef op maandag 10 oktober 2005 @ 15:31:
[...]


Als A of B waar is gaat ie verder, maar NIET wanneer beide waar zijn.
dat begrijp ik ;) daarom zoek ik ook naar een oplossing

[ Voor 9% gewijzigd door aex351 op 10-10-2005 15:32 ]

< dit stukje webruimte is te huur >


Acties:
  • 0 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 00:27

.oisyn

Moderator Devschuur®

Demotivational Speaker

aex351 schreef op maandag 10 oktober 2005 @ 15:26:
$a en $b hebben beide 2 verschillende waardes, staan al van te voren vast. Nu is $a een $_GET en $b een waarde uit een db , $b moet de default waarde zijn. Dus indien $a niet is gezet moet $b worden weergeven, wanneer beide true zijn dan moet alleen $a worden weergeven of wanneer $b helemaal (nog niet) bestaat.
Waarom is dit nou zo moeilijk om te vertalen naar code?
.oisyn in "PHP operator gezocht"
Het staat daar bijna letterlijk.

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


Acties:
  • 0 Henk 'm!

  • aex351
  • Registratie: Juni 2005
  • Laatst online: 01:59

aex351

I am the one

Topicstarter
.oisyn schreef op maandag 10 oktober 2005 @ 15:34:
[...]


Waarom is dit nou zo moeilijk om te vertalen naar code?
.oisyn in "PHP operator gezocht"
Het staat daar bijna letterlijk.
deze operator zoek ik, bestaat deze eigenlijk wel ? :
Confusion in "PHP operator gezocht"

< dit stukje webruimte is te huur >


Acties:
  • 0 Henk 'm!

  • vriesdude
  • Registratie: Februari 2002
  • Laatst online: 19-09 19:14
aex351 schreef op maandag 10 oktober 2005 @ 15:32:
[...]

dat begrijp ik ;) daarom zoek ik ook naar een oplossing
kijk dan eens naar mijn stukje code ;)

/dev/null


Acties:
  • 0 Henk 'm!

  • aex351
  • Registratie: Juni 2005
  • Laatst online: 01:59

aex351

I am the one

Topicstarter
vriesdude schreef op maandag 10 oktober 2005 @ 15:36:
[...]


kijk dan eens naar mijn stukje code ;)
Als $a true is moet ie $b negeren. dat doet XOR niet, had ik ook al geprobeerd

< dit stukje webruimte is te huur >


Acties:
  • 0 Henk 'm!

  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf

maar dat doet een normale OR toch wel :?

PHP:
1
2
3
if (true || die('false')){
  echo 'true';
}

[ Voor 44% gewijzigd door Erkens op 10-10-2005 15:38 ]


Acties:
  • 0 Henk 'm!

  • aex351
  • Registratie: Juni 2005
  • Laatst online: 01:59

aex351

I am the one

Topicstarter
Erkens schreef op maandag 10 oktober 2005 @ 15:37:
maar dat doet een normale OR toch wel :?
Nee, OR checked of 1 van de 2 true is.

< dit stukje webruimte is te huur >


Acties:
  • 0 Henk 'm!

  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf

aex351 schreef op maandag 10 oktober 2005 @ 15:38:
[...]

Nee, OR checked of 1 van de 2 true is.
voer die code van mij eens uit in mijn edit:

http://dev.erkens.info/or.php

[ Voor 8% gewijzigd door Erkens op 10-10-2005 15:41 ]


Acties:
  • 0 Henk 'm!

  • vriesdude
  • Registratie: Februari 2002
  • Laatst online: 19-09 19:14
aex351 schreef op maandag 10 oktober 2005 @ 15:38:
[...]

Nee, OR checked of 1 van de 2 true is.
ik weet niet precies wat je dan wel wil maar probeer het anders eens zo
Maar volgens mij doe je iets niet goed want zowel OR of XOR zouden al aan je eisen voldoen
PHP:
1
2
3
if (($a == true AND $b == false) OR ($a == false AND $b == true)) {
 // code
}

[ Voor 4% gewijzigd door vriesdude op 10-10-2005 15:44 . Reden: typo ]

/dev/null


Acties:
  • 0 Henk 'm!

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 18-09 16:28

Bosmonster

*zucht*

Snap er niet zoveel van wat je doet.

De || operator stopt met matchen zodra hij voldoet. In jouw voorbeeld zou die stoppen zodra $a true is en negeert ie $b. Is $a false, dan moet ie natuurlijk ook $b checken.

Met een && werkt dit natuurlijk anders, daar moet ie wel beide waarden checken.

Voor dit gedrag is een naam, maar kan er ff niet opkomen :)

Acties:
  • 0 Henk 'm!

  • aex351
  • Registratie: Juni 2005
  • Laatst online: 01:59

aex351

I am the one

Topicstarter
vriesdude schreef op maandag 10 oktober 2005 @ 15:41:
[...]


ik weet niet precies wat je dan wel wil maar probeer het anders eens zo
Maar volgens mij doe je iets niet goed want zowel OR of XOR zouden al aan je eisen voldoen
PHP:
1
2
3
if (($a == true AND $b == false) OR ($a == false AND $b == true)) {
 // code
}
Ja dat werkt ook, alleen ik zocht 1 simpele operator die $b negeert wanneer $a true is en anders gewoon $b uitvoert en omgekeerd. Nu heb ik een gigantisch lange regel :/

edit nee dit werkt ook niet optimaal

[ Voor 7% gewijzigd door aex351 op 10-10-2005 15:50 ]

< dit stukje webruimte is te huur >


Acties:
  • 0 Henk 'm!

  • vriesdude
  • Registratie: Februari 2002
  • Laatst online: 19-09 19:14
aex351 schreef op maandag 10 oktober 2005 @ 15:46:
[...]

Ja dat werkt ook, alleen ik zocht 1 simpele operator die $b negeert wanneer $a true is en anders gewoon $b uitvoert en omgekeerd. Nu heb ik een gigantisch lange regel :/
Als dat het juiste resultaat oplevert moet het echt kunnen met OR of XOR...
Ik schreef hem express voluit om te kijken of ik snapte wat je doel was...

/dev/null


Acties:
  • 0 Henk 'm!

  • disjfa
  • Registratie: April 2001
  • Laatst online: 03-07 14:47

disjfa

be

code:
1
2
3
4
if($a XOR (isset($b) && $b))
{
  //code
}

:?

disjfa - disj·fa (meneer)
disjfa.nl


Acties:
  • 0 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 00:27

.oisyn

Moderator Devschuur®

Demotivational Speaker

aex351 schreef op maandag 10 oktober 2005 @ 15:37:
[...]

Als $a true is moet ie $b negeren. dat doet XOR niet, had ik ook al geprobeerd
(diepe zucht)
Ten eerste werken de operatoren al zo, als $a true is in jouw voorbeeld wordt $b niet meer geevalueerd. Jij wil echter verschillende acties doen en niet alleen een simpele vergelijking, dus zet het idee uit je hoofd dat het met een enkele operator kan (newsflash! je kunt operatoren combineren), en probeer nou eens gewoon in te tikken wat je nou precies wilt.

Overigens heb je het steeds over true en "is niet gezet", maar false dan? Of is dat in jouw wereld hetzelfde als "is niet gezet"?

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


Acties:
  • 0 Henk 'm!

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 18-09 16:28

Bosmonster

*zucht*

aex351 schreef op maandag 10 oktober 2005 @ 15:46:
[...]

Ja dat werkt ook, alleen ik zocht 1 simpele operator die $b negeert wanneer $a true is en anders gewoon $b uitvoert en omgekeerd. Nu heb ik een gigantisch lange regel :/

edit nee dit werkt ook niet optimaal
Het 'en omgekeerd' maakt het wat ongebruikelijk. Dit soort expressies worden nu eenmaal van links naar rechts gelezen.

Als je bezorgt bent om variabelen die niet bestaan, is het waarschijnlijk handiger om te zorgen dat ze gewoon allemaal wel bestaan..

Acties:
  • 0 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 00:27

.oisyn

Moderator Devschuur®

Demotivational Speaker

aex351 schreef op maandag 10 oktober 2005 @ 15:46:
[...]

Ja dat werkt ook, alleen ik zocht 1 simpele operator die $b negeert wanneer $a true is en anders gewoon $b uitvoert en omgekeerd. Nu heb ik een gigantisch lange regel :/
Pech gehad, dat heet nou programmeren

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


Acties:
  • 0 Henk 'm!

Verwijderd

aex351 schreef op maandag 10 oktober 2005 @ 15:38:
Nee, OR checked of 1 van de 2 true is.
Ik snap er geen drl van, bedoel je nu (even niet handig volledig uitgeschreven):
if a = true
//doe iets
else if b = true
//doe hetzelfde


????

Acties:
  • 0 Henk 'm!

  • Confusion
  • Registratie: April 2001
  • Laatst online: 01-03-2024

Confusion

Fallen from grace

aex351 schreef op maandag 10 oktober 2005 @ 15:30:
Ik heb geen kennis van C of Java, maar dat is precies wat ik zoek.
Als ik de php docs zo lees, dan werkt de || operator zo in PHP: als je een
if (A || B)
constructie gebruikt en A is waar, dan wordt B niet meer geëvalueerd. Dat kan je zelf vrij eenvoudig controleren. (bron)

edit:
Aha, ik zie nu wat Bosmonster schrijft: 'ook omgekeerd'. Tjah... :)

[ Voor 21% gewijzigd door Confusion op 10-10-2005 15:58 ]

Wie trösten wir uns, die Mörder aller Mörder?


Acties:
  • 0 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 00:27

.oisyn

Moderator Devschuur®

Demotivational Speaker

Dat is echter niet wat hij zoekt, want het gaat hier helemaal niet om de evaluatie maar het gebruik van een variabele aan de hand van een bepaalde conditie.

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


Acties:
  • 0 Henk 'm!

  • aex351
  • Registratie: Juni 2005
  • Laatst online: 01:59

aex351

I am the one

Topicstarter
Nou de operator lijkt dus niet te bestaan, ik heb maar een andere oplossing bedacht en dat is de constructie maar te veranderen :/ .

< dit stukje webruimte is te huur >


Acties:
  • 0 Henk 'm!

Verwijderd

Bosmonster schreef op maandag 10 oktober 2005 @ 15:45:
Snap er niet zoveel van wat je doet.

De || operator stopt met matchen zodra hij voldoet. In jouw voorbeeld zou die stoppen zodra $a true is en negeert ie $b. Is $a false, dan moet ie natuurlijk ook $b checken.

Met een && werkt dit natuurlijk anders, daar moet ie wel beide waarden checken.

Voor dit gedrag is een naam, maar kan er ff niet opkomen :)
Lazy evaluation? :)

Acties:
  • 0 Henk 'm!

  • vriesdude
  • Registratie: Februari 2002
  • Laatst online: 19-09 19:14
aex351 schreef op maandag 10 oktober 2005 @ 16:02:
Nou de operator lijkt dus niet te bestaan, ik heb maar een andere oplossing bedacht en dat is de constructie maar te veranderen :/ .
zolang je niet duidelijk kunt omschrijven wat jouw bedoeling dan wel is kunnen we blijkbaar jouw niet helpen.....

/dev/null


Acties:
  • 0 Henk 'm!

  • P_de_B
  • Registratie: Juli 2003
  • Niet online
Volgens mij is het Short Circuit Evaluation wat de ts bedoelt. Of PHP dat met de || operator ondersteunt is natuurlijk zo te testen.

Oops! Google Chrome could not find www.rijks%20museum.nl


Acties:
  • 0 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 00:27

.oisyn

Moderator Devschuur®

Demotivational Speaker

Lazy evaluation is weer wat anders, namelijk het pas evalueren van een expressie op het moment dat de waarde ervan nodig is. Het heet idd short circuit evaluation

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


Acties:
  • 0 Henk 'm!

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 18-09 16:28

Bosmonster

*zucht*

P_de_B schreef op maandag 10 oktober 2005 @ 16:27:
Volgens mij is het Short Circuit Evaluation wat de ts bedoelt. Of PHP dat met de || operator ondersteunt is natuurlijk zo te testen.
Ja dat was hem :)

En PHP werkt ook zo (zoals volgens mij de meeste 'moderne' talen).

Acties:
  • 0 Henk 'm!

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 21-09 02:21

Janoz

Moderator Devschuur®

!litemod

php heeft toch short circuit evaluation?

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
function ikBenWaar($id) {
  echo " Ik ben ".$id." en ik ben waar.<br />";
  return true;
}

function ikBenOnwaar($id) {
  echo " Ik ben ".$id." en ik ben onwaar.<br />";
  return false;
}
echo "1e: <br />";
if (ikBenWaar("a") or ikBenWaar("b")) {
  echo "In de 1e body.<br />";
}
echo "2e: <br />";
if (ikBenWaar("a") or ikBenOnwaar("b")) {
  echo "In de 2e body.<br />";
}
echo "3e: <br />";
if (ikBenOnwaar("a") or ikBenWaar("b")) {
  echo "In de 3e body.<br />";
}
echo "4e: <br />";
if (ikBenOnwaar("a") or ikBenOnwaar("b")) {
  echo "In de 4e body.<br />";
}


Maar goed. De hele expressie zal altijd true of false opleveren.

uitkomst met dank aan compiler en debugger Bosmonster:
1e:
Ik ben a en ik ben waar.
In de 1e body.
2e:
Ik ben a en ik ben waar.
In de 2e body.
3e:
Ik ben a en ik ben onwaar.
Ik ben b en ik ben waar.
In de 3e body.
4e:
Ik ben a en ik ben onwaar.
Ik ben b en ik ben onwaar.

[ Voor 19% gewijzigd door Janoz op 10-10-2005 16:57 ]

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

aex351 schreef op maandag 10 oktober 2005 @ 16:02:
Nou de operator lijkt dus niet te bestaan, ik heb maar een andere oplossing bedacht en dat is de constructie maar te veranderen :/ .
Waarom zou er een operator moeten bestaan voor elke minuscule variatie op een thema die iemand kan verzinnen? Straks word je niet meer wijs uit wat wat is, en heb je tientallen verschillende operators waarvan niemand meer weet wat ze betekenen. En dat alleen omdat je als programmeur een stuk korte code wil schrijven? :X

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • Confusion
  • Registratie: April 2001
  • Laatst online: 01-03-2024

Confusion

Fallen from grace

-NMe- schreef op maandag 10 oktober 2005 @ 17:13:
Waarom zou er een operator moeten bestaan voor elke minuscule variatie op een thema die iemand kan verzinnen? Straks word je niet meer wijs uit wat wat is, en heb je tientallen verschillende operators waarvan niemand meer weet wat ze betekenen. En dat alleen omdat je als programmeur een stuk korte code wil schrijven? :X
Daarom is het misschien maar goed dat er voorlopig in PHP geen operator overloading komt >:).

Wie trösten wir uns, die Mörder aller Mörder?


Acties:
  • 0 Henk 'm!

  • Grijze Vos
  • Registratie: December 2002
  • Laatst online: 28-02 22:17
Bij bijv. Object Pascal (Delphi) heb je hier expliciete operators, zoals CAND, COR.

Op zoek naar een nieuwe collega, .NET webdev, voornamelijk productontwikkeling. DM voor meer info


Acties:
  • 0 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 00:27

.oisyn

Moderator Devschuur®

Demotivational Speaker

Confusion schreef op maandag 10 oktober 2005 @ 17:55:
[...]

Daarom is het misschien maar goed dat er voorlopig in PHP geen operator overloading komt >:).
om operator overloading te ondersteunen moeten ze eerst überhaupt overloading ondersteunen, en zonder type strictness valt er alleen te overloaden op basis van aantal parameters. En laten operators nou altijd dezelfde hoeveelheid parameters hebben ;)

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


Acties:
  • 0 Henk 'm!

  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf

er wordt met PHP5 wel wat aan overloading ondersteund:
http://www.php.net/manual/en/language.oop5.overloading.php

Acties:
  • 0 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 00:27

.oisyn

Moderator Devschuur®

Demotivational Speaker

En weer bewijst het PHP team dat ze het niet snappen. Dat is geen overloading.

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


Acties:
  • 0 Henk 'm!

  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf

.oisyn schreef op dinsdag 11 oktober 2005 @ 12:12:
En weer bewijst het PHP team dat ze het niet snappen. Dat is geen overloading.
Dit keer ben ik het met je eens :P
Hoewel je hiermee wel zelf overloading kan maken als je goed je best doet :+

[ Voor 15% gewijzigd door Erkens op 11-10-2005 12:14 ]


Acties:
  • 0 Henk 'm!

  • Michali
  • Registratie: Juli 2002
  • Laatst online: 29-05 22:54
.oisyn schreef op dinsdag 11 oktober 2005 @ 12:03:
[...]


om operator overloading te ondersteunen moeten ze eerst überhaupt overloading ondersteunen, en zonder type strictness valt er alleen te overloaden op basis van aantal parameters. En laten operators nou altijd dezelfde hoeveelheid parameters hebben ;)
Bij objecten zou het best handig zijn. Dan zou je bijvoorbeeld zo'n functie kunnen inplementeren in een Date class:
PHP:
1
2
3
4
public function operator<(Date $date1, Date $date2)
{
  // vergelijking
}

Ik weet niet op PHP zo met die typen omgaat. Volgens mij is het alleen een simpele controle bij het aanroepen van de functie. Het moet op zich best te implementeren zijn.

Noushka's Magnificent Dream | Unity


Acties:
  • 0 Henk 'm!

  • marty
  • Registratie: Augustus 2002
  • Laatst online: 27-03-2023
volgens mij zoekt hij gewoon de ternary operator (die overigens al eerder is gesuggereerd)

PHP:
1
2
3
4
5
6
7
 // als a niet gezet is krijgt $var de (default) waarde van $b, en anders van $a
$var = !isset($a) ? $b : $a;

# of

 // als a False is krijgt $var de (default) waarde van $b, en anders van $a
$var = !$a ? $b : $a;

Acties:
  • 0 Henk 'm!

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 18-09 16:28

Bosmonster

*zucht*

.oisyn schreef op dinsdag 11 oktober 2005 @ 12:12:
En weer bewijst het PHP team dat ze het niet snappen. Dat is geen overloading.
Waarom __get, __set en __call e.d. onder het kopje overloading vallen bij PHP is mij ook nog steeds een raadsel.

Waarom ze uberhaupt bestaan is mij nog een veel groter raadsel. Het maakt implementatie er alleen maar ondoorzichtig op en ze zijn met 'normale' PHP code ook eenvoudig te vervangen.

Acties:
  • 0 Henk 'm!

  • sorted.bits
  • Registratie: Januari 2000
  • Laatst online: 21:03
PHP:
1
2
3
4
5
6
7
8
if (isset($a))
{
    echo $a;
}
else
{
    echo $b;
}


I snap het probleem niet, wat ie nu doet is :

Als a bestaat, dan showt ie a (of b nu bestaat of niet), wanneer a niet bestaat, showt ie b ?
Pagina: 1