Kortere if mogelijk?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Fullstack developer

Functie omschrijving Ben jij toe aan een nieuwe uitdaging en zou jij graag bij een platte maar informele organisatie werken? Voor een mooi softwarebedrijf in omgeving Alblasserdam zijn wij op zoek naar versterking op de afdeling Software Development! Als Fullstack react.js developer wordt je bij dit bedrijf onderdeel van de volledige ontwikkeling van requirement tot oplevering! Jouw focus ligt op de front end en alles wat daarbij komt kijken. Je gaat ontwerpen, ontwikkelen, testen en valideren. Je zult voornamelijk werken met React.js en Typescript. Maar ook Javascript, HTML en CSS komen aanbod. Daarnaast zal je ook regelmatig met de back

Bekijk vacature »

Java Developer

Dit ga je doen Als Java Developer ben je verantwoordelijk voor: Het ontwikkelen van nieuwe en bestaande webservices; Het uitbreiden van functionaliteiten binnen de producten- en dienstenportefeuille; Het werken aan gegevensuitwisseling met bijvoorbeeld SOAP; Testen van frameworks met gebruik van UNIT en Selenium. Hier ga je werken De organisatie waar je komt te werken is een semi-overheidsinstelling, gesitueerd in Utrecht en zorgt voor een goede samenwerking tussen verschillende overheidsinstanties. Het is een familiaire club die gaat voor kwaliteit en langdurige relaties. Zo zorgen zij ervoor dat er op grote schaal vertrouwelijke informatie tussen verschillende overheidsinstellingen wordt uitgewisseld. Hun werk zorgt

Bekijk vacature »

Senior Front end developer

Functie Wij zijn op zoek naar een ambitieuze, zelfsturende Front-end Expert die ons (internationale) team komt versterken. Onze huidige software development afdeling bestaat uit 7 developers en designers. Wij zijn een écht softwarehuis, dus ervaring in software development is wel echt een must. Er wordt tegelijkertijd aan meerdere projecten gewerkt, voor mooie toonaangevende klanten. Je hebt dus regelmatig te maken met deadlines en opleveringen. Een deel van onze omgeving is in Angular.JS. Dit deel wordt langzamerhand omgebouwd naar de nieuwste versie van Angular. Jouw werkzaamheden zullen bestaan uit: Het aansturen en begeleiden van jouw collega’s Het implementeren van visuele elementen

Bekijk vacature »

Full stack developer Node.js

Functie Als fullstack JavaScript developer vind jij het uitdagend om op basis van concrete klantvragen nieuwe functionaliteiten te ontwikkelen. Bij voorkeur worden deze functionaliteiten op een bepaalde manier geprogrammeerd, zodat ze door meerdere klanten te gebruiken zijn. Je hebt dus vaak te maken met abstracte vraagstukken. Om dit te kunnen realiseren sta je nauw in contact met de product owner en/of klant. Je bent niet alleen onderdeel van het development team, maar hebt ook vaak contact met de product-owner en/of klanten om daardoor inzichten te verzamelen die leiden tot productverbeteringen. • Inzichten verzamelen bij de klant en/of product owner •

Bekijk vacature »

Belastingdienst - Freelance Senior Applicatie ontw

Startdatum: 01.06.2023 Richttarief: €65,00 - €75,00 Duur van de opdracht: 6 maanden Uren per week: 36 Taal: Nederlands vereist! Gelieve in het Nederlands te solliciteren. Functieomschrijving: We verwachten van je, dat je: Brede ervaring hebt als JAVA-ontwikkelaar; Ervaring hebt met Agile/Scrum-werken en je thuis voelt in een Agile omgeving; Een aandeel levert aan het scrumproces en in de SAFe-releasetrain; Zelfstandig werkt in een scrumteam en intensief de samenwerking op zoekt met je directe collega’s en je omgeving; Ervaring meebrengt met het schattten en inplannen van taken tot en met het testen en demonstreren van de opgeleverde functionaliteit; Collega’s in je

Bekijk vacature »

Junior .NET developer

Functie Als junior .NET developer begint jouw dag na een bak koffie met een stand up. De vorderingen worden tijdens de stand up besproken en de doelen worden opgesteld waar jullie als team in de volgende sprint naartoe gaan werken. Onze backend is geschreven in .NET Core en onze Front-end in Angular. Bij ons ga jij dan ook Fullstack aan de slag. Jij wordt hier opgeleid om zelfstandig te kunnen programmeren en applicaties te kunnen implementeren. Er wordt op projectbasis gewerkt, dit bied leuke uitdagingen omdat elke klant een andere visie heeft over de applicatie die wij maken. Je gaat

Bekijk vacature »

SAP HANA Developer

Vacature details Vakgebied: Software/IT Opleiding: Senior Werklocatie: Veldhoven Vacature ID: 13382 Introductie We is looking for a HANA Developer to work for our client. The candidate has to have an experience in building Data Intensive Applications (DIA’s). The role of a HANA Developer at ASML involves working on building Data Intensive Applications in an industrial/enterprise environment. The primary responsibility is to handle data from various sources and determine the best way to structure it for use by data analysts, who will run queries and algorithms against it for predictive and prescriptive analytics through machine learning. Wat verwachten we van jou?

Bekijk vacature »

Cloud Engineer

Ben jij een ervaren Cloud Engineer die complexe omgevingen kan overzien en wil je graag in vaste dienst werken bij een professioneel en kleinschalig bedrijf waar je een belangrijke rol kan spelen? Wij, IntelliMagic in Leiden, ontwikkelen specialistische IT monitoring software die we als SaaS oplossing verkopen aan grote bedrijven in Europa en de VS. We zijn een Nederlands bedrijf met een goede sfeer en met grote waardering voor de persoonlijke inbreng en kwaliteiten van onze medewerkers. Wij zoeken een ervaren Cloud Engineer met academisch denkniveau die verantwoordelijk wordt voor het beheer van de cloud infrastructuur voor onze Europese klanten.

Bekijk vacature »

React developer Inhouse cloudplatform

Functie De functie: Als front-end developer kom je te werken naast 2 andere front-end/React developers, waaronder één senior. Een hele mooie kans dus om in korte tijd veel nieuwe kennis en ervaring op te doen. Ze hebben momenteel veel werk hierin en daarom willen ze het team graag uitbreiden. Het is van belang dat je, zeker gezien het vele thuiswerken, in ieder geval al een aantal projecten hebt gedaan in React. Taken waar je aan kunt denken zijn het ontwikkelen van client-applicaties o.b.v. HTML5, React en andere open standaarden. Ook ben je nauw betrokken bij het implementeren van designs o.b.v.

Bekijk vacature »

Experienced Lead Java Developer

Vacature details Vakgebied: Software/IT Opleiding: Senior Werklocatie: Delft Vacature ID: 13301 Introductie We are seeking a Lead Java Developer for our team in the area of Delft. You will develop an application used exclusively by the engineers and geologists for site characterizations, which imports raw field and laboratory measurements for further processing, integration, ground modelling, and geotechnical analysis and reporting. The client/server application is entirely written in Java, and the server is hosted in the Amazon cloud, utilizing frameworks such as Spring and Hibernate, and connected to an MS SQL Server RDS instance. There is a trend towards using more

Bekijk vacature »

REMOTE - Front-end Angular developer

Functie Het IT-team bestaat momenteel uit de IT Manager, 2 back-end developers, 1 fullstack developer, 1 designer en een DevOps engineer. Ze zijn momenteel op zoek naar een ervaren Front-end developer die autonoom en gedisciplineerd aan de slag gaat, en bij aanvang als enige developer met hun Front-end applicaties bezig is. Wel hebben ze de ambitie om hier snel een 2e developer bij te vinden die jij dan ook zal kunnen aansturen/begeleiden. Je zult aan de slag gaan met het doorontwikkelen van hun bestaande UI in Angular. Maar ook het ontwikkelen van een mobiele app. Hierbij hechten ze veel waarde

Bekijk vacature »

PHP Developer - Draag bij aan de maatschappij!

Bedrijfsomschrijving Wil jij als applicatieontwikkelaar deel uitmaken van een gedreven ontwikkelteam en werken aan innovatieve producten? Dan hebben wij dé uitdaging voor jou! Wij zijn op zoek naar een enthousiaste collega die samen met ons de technische ondergrond van onze producten verder wil ontwikkelen met behulp van PHP. Met jouw expertise geef je de finishing touch aan onze producten om jezelf steeds opnieuw weer te verrassen. Functieomschrijving Bij ons staan innovatie en creativiteit centraal. Wij zijn op zoek naar een enthousiaste PHP ontwikkelaar die nieuwe ideeën en inzichten kan inbrengen en daarmee zichzelf en het team verder kan laten groeien.

Bekijk vacature »

Fasttrack learning & development voor Java dev

Wat je gaat doen: Wij zoeken enthousiaste en ambitieuze junior en medior ontwikkelaars die toe zijn aan de volgende stap in hun carrière. Wij helpen je op je pad naar senior ontwikkelaar door ons fasttrack learning en development programma. Na een kort en intensief programma ga jij aan de slag bij klanten van DPA. Daarnaast krijg je veel ruimte om je te ontwikkelen als persoon en als specialist. De eerste maand gaan we aan de slag om je certificeringen te behalen waaronder OCP (Oracle Certified Professional). Daarnaast nemen we een deepdive in Spring Boot. Ook laten we je kennismaken met

Bekijk vacature »

Senior Fullstack Developer (GOLang, TypeScript)

Bedrijfsomschrijving Our client is one of the large worldwide accounting firms. Functieomschrijving We are looking for a senior (all-round) developer (Project On Demand / Tax Technology) Uses as much as possible technology in support of the development process: Git, Jenkins, Docker, npm, skaffold, helm, etc. We are looking for a real hands-on developer; ie not a team lead or other managerial-style role; Acts with integrity both internally and externally and takes personal responsibility in this respect; Curious about the developments within their field and driven to make a difference with the team; Able to empathize with colleagues and stakeholders and

Bekijk vacature »

Developer Full Stack

Functie omschrijving Developer gezocht! Ben jij een enthousiaste developer die graag wil bijdragen aan ontwikkelingen binnen een mooie organisatie? Solliciteer dan snel. Wij zijn op zoek naar een Full Stack Developer uit de regio Nijkerk die gaat bijdragen aan het door ontwikkelen, onderhouden en optimaliseren van een SaaS applicatie. Je moet beschikken over beheersing van zowel de Nederlandse als Engelse taal aangezien je samen met de klant gaat werken. Bedrijfsprofiel Je komt te werken binnen een echt familiebedrijf dat al sinds 1925 actief is binnen de FMCG branche. Het bedrijf heeft 40 medewerkers en er heerst een platte communicatiestructuur waarbij

Bekijk vacature »

Pagina: « vorige 1 2

Joren de Wit

Joren de Wit

10/01/2010 14:45:00
Quote Anchor link
In geval van een SELECT query of andere query die resultaten oplevert, geeft mysql_query() een resultaatset terug, die zul je dus echt moeten toekennen aan een variabele.

Maar goed, mijn punt is dan ook niet dat het in het alledaagse gebruik veel voor zal komen, sterker nog het zal in de meeste gevallen gewoon goed gaan. Alleen in dat ene geval waar de code wel iets anders doet dan je verwacht, is het een stuk lastiger debuggen. Je verwacht dat AND hetzelfde doet als &&, maar dat is dus niet in alle gevallen zo.
 
PHP hulp

PHP hulp

22/12/2024 06:38:29
 
John D

John D

10/01/2010 15:31:00
Quote Anchor link
Toekennen geheel mee eens en in het geval van SELECT wordt er een dataset of een false teruggegeven en zou je de test bij een SELECT if($res = mysql_query() nooit mogen programmeren want $res is dan de dataset en niet een boolean. In het geval van INSERT, DELETE etc is de $res overbodig dus in het geval van dit MySQL voorbeeld is er feitelijk geen code toegestaan die iets anders doet dan je verwacht.

PHP en de MySQL() functies zijn helaas wat slordig van aard. In de andere SQL talen waarmee ik werk is het ondenkbaar dat je OF een dataset OF een false terugkrijgt. Een dataset en een boolean zijn gebruikelijk twee verschillende objecten.
Gewijzigd op 01/01/1970 01:00:00 door John D
 
K i p

K i p

10/01/2010 16:31:00
Quote Anchor link
Blanche schreef op 10.01.2010 14:17:
Natuurlijk is ook dit een kwestie van smaak en gebruik van methoden waaraan je gewend bent. Alleen bij het gebruik van AND en OR zul je er dan dus wel voor moeten zorgen dat je bedacht bent op de 'functionaliteit' die ik in mijn vorige post al aangaf. Het werkt niet altijd zoals je zou verwachten!
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
if($res = mysql_query($sql) && $continue) {
  // Wordt uitgevoerd als query gelukt is en $continue TRUE is
}

if($res = mysql_query($sql) AND $continue) {
  // Wordt uitgevoerd als query gelukt is, ongeacht de waarde van $continue!
}
?>

Ik houd het voorlopig gewoon bij || en && :-)
Je hebt geen gelijk. Ik heb de volgende code uitgevoerd:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
<?php
    /*
     * Connectie openen en de resource opslaan als $rConnectie
     */

    $connectie = mysql_connect ( 'host' , 'buser' , 'pass' );
    
    /*
     * Als de connectie gelukt is of als er geen database geselecteerd kan worden
     * de meegegeven error geven.
     */

    if ( !$connectie OR !mysql_select_db ( 'db' , $connectie ) )
        die ( 'Fout.' );
    
    /*
     * Voor testdoeleinden zetten we $continue op false.
     */

    $continue = false;
    
    /*
     * We maken een simpele SQL die niet fout gaat.
     */

    $sql = "
        SELECT    id
        FROM    gebruikers
    "
;
    
    /*
     * We voeren de SQL uit en vragen de variabele $continue erbij met &&
     */

    if ( $res = mysql_query ( $sql ) && $continue )
    {

      /*
       * Volgens Blanche:
       * Wordt uitgevoerd als query gelukt is en $continue TRUE is.
       * Als we hier uitkomen gebeurt er iets geks.
       */

      echo 'Blanche heeft geen gelijk met &&.';
    }

    else
    {
        /*
         * Het zal dus hier uitkomen omdat $continue false is.
         */

        echo 'Blanche heeft gelijk met &&.';
    }

    
    
    /*
     * Voor de zekerheid de waarde van $res erbij.
     */

    echo '<pre>';
    var_dump ( $res );
    echo '</pre>';
    
    
    echo '<br />';
    
    
    
    /*
     * We voeren de SQL nogmaals uit en vragen de variabele $continue erbij met AND
     */

    if ( $res = mysql_query ( $sql ) AND $continue )
    {

      /*
       * Volgens Blanche:
       * Wordt uitgevoerd als query gelukt is, ongeacht de waarde van $continue!
       */

      echo 'Blanche heeft gelijk. We komen door de if ondanks dat $continue een
      voorwaarde is die met AND aan de mysq_query() voorwaarde is gekoppeld..'
;
    }

    else
    {
        echo 'Blanche heeft geen gelijk. Mysql_query() geeft true en $continue is
        false. Toch komen we hier.'
;
    }

    
    
    /*
     * Voor de zekerheid de waarde van $res erbij.
     */

    echo '<pre>';
    var_dump ( $res );
    echo '</pre>';
?>
Dit leverde dit op:
Quote:
Blanche heeft gelijk met &&.

bool(false)


Blanche heeft geen gelijk. Mysql_query() geeft true en $continue is false. Toch komen we hier.

resource(4) of type (mysql result)
Gewijzigd op 01/01/1970 01:00:00 door K i p
 
John D

John D

10/01/2010 16:35:00
Quote Anchor link
Het gebruiken van if ( $res = mysql_query ( $sql ) in een SELECT hebben we uitgebreid behandeld, dat is FOUT! Je testprogramma bewijst dus niks.
Als je een resultaatset in $res terugkrijgt mag je die niet aftesten als boolean. Ga dus terug naar de tekentafel en try-trail-on-error again ;-)
 

10/01/2010 16:43:00
Quote Anchor link
John schreef op 10.01.2010 14:01:
Ik heb niet gezegd dat je het "door elkaar" moet gebruiken en ik raad dat zelfs altijd af!! Dat werkt juist optimaal verwarrend. Je probeert je gelijk te halen op verkeerde argumenten. Ik heb gesteld dat de leesbaarheid beter is wanneer je afstapt van het cryptische gedoe van || && en AND en OR gebruikt. Niet meer en niet minder.

Nee, je hebt gezegd dat de precedence gelijk is:
John schreef op 10.01.2010 13:53:
Ooievaar: je stelling is onjuist. De precedence is gelijk:
http://www.php.net/manual/en/language.operators.precedence.php

Later heb je dit erbij ge-edit:
John schreef op 10.01.2010 13:53:
Left associativity means that the expression is evaluated from left to right, right associativity means the opposite.

Daar staat duidelijk associativity en geen precedence. Dan heb je het tegen mij dat ik mijn gelijk probeer te halen op verkeerde argumeten, terwijl jij dingen door elkaar gaat halen. Ik heb steeds voet bij stuk gehouden. De precedence is belangrijk (kom ik later nog op terug).
Ik heb het niet tegen jou gehad over de leesbaarheid (kom ik later nog op terug), alleen maar dat jij geen gelijk had over dat de precedence gelijk is. Dit is dus gewoon een drogreden van jou, je probeert onder je fout uit te komen door de boel te verdraaien.

Blanche schreef op 10.01.2010 14:03:
@Ooievaar: dat is alleen van belang in de IMO onlogische situatie dat je && en AND door elkaar gebruikt. Waarom zou je dat willen doen?

Je hebt echter wel gelijk en dat geeft mij bovendien nog een extra reden om AND en OR af te raden. Die operators doen niet wat je zou verwachten, zie dit voorbeeld van php.net:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
// The result of the expression (true && false) is assigned to $g
// Acts like: ($g = (true && false))

$g = true && false;

// The constant true is assigned to $h and then false is ignored
// Acts like: (($h = true) and false)

$h = true and false;
?>

Waar je dus zou verwachten dat $h het resultaat van de expressie 'true and false' (dus false) bevat, krijgt $h de waarde true. Als je daar niet op bedacht bent, wordt het leuk debuggen!

Waarom schrijf je bij wiskunde sin2x en niet sin(x)^2 ja, omdat je dat haakjes scheelt. Omdat het gewoon duidelijk is wat je bedoelt. Het zelfde geldt voor 5*2+4/2, hierbij doe je ook geen haakjes. Iedereen die de volgorde kent weet hoe het zit.
Met php is dit hetzelfde. Iedereen heeft wel meneer van dale wacht op antwoord geleerdt (is overigs niet juist, lees dat hier).
Verder doen die operators gewoon wat je van ze verwacht, als je naar de precedence lijst kijkt zie je dus dat = een hogere precedence heeft dan AND. Dat betekend dus dat wat er in jou voorbeeld gebeurd gewoon correct is. Zoals verwacht wordt er bij AND true aan $h toegeschreven.

Blanche schreef op 10.01.2010 14:17:
Natuurlijk is ook dit een kwestie van smaak en gebruik van methoden waaraan je gewend bent. Alleen bij het gebruik van AND en OR zul je er dan dus wel voor moeten zorgen dat je bedacht bent op de 'functionaliteit' die ik in mijn vorige post al aangaf. Het werkt niet altijd zoals je zou verwachten!
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
if($res = mysql_query($sql) && $continue) {
  // Wordt uitgevoerd als query gelukt is en $continue TRUE is
}

if($res = mysql_query($sql) AND $continue) {
  // Wordt uitgevoerd als query gelukt is, ongeacht de waarde van $continue!
}
?>

Ik houd het voorlopig gewoon bij || en && :-)

Probeer het volgende voorbeeld (met dank aan Maarten) eens:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
if(isset($_GET['a']) AND $_GET['a'] == 'aap' || $_GET['a'] == 'banaan')
{

echo 'In if';
}


if(isset($_GET['a']) && $_GET['a'] == 'aap' || $_GET['a'] == 'banaan')
{

echo 'In if';
}

?>

Er worden nu geen haakjes gebruikt, maar wel de 'veilige' && en ||. Als je dit nu uitvoert dan krijg je:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
Notice:  Undefined index:  a in C:\xampp\htdocs\test\eval.php(5) : eval()'d code on line 8

De foutmelding komt dus voor de tweede if.
Bij de eerste if krijg je geen notice, je kunt die uitschrijven naar (zie dus ook operators.precedence):
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
a en (b of c)

Als a false is zal php nooit beginnen aan het tweede gedeelte, want dat maakt niet uit of die nou true of false is. De uitkomst blijft dan gewoon false. Zie ook deze waarheidstabel.
De tweede if kan je omschrijven naar dit:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
(a en b) of c

Nu hebben ze allemaal dezelfde voorrang (net als bij keer en delen), dus wordt deze vergelijking van links naar rechts opgelost.
 
Joren de Wit

Joren de Wit

10/01/2010 16:43:00
Quote Anchor link
@Kip: Ik geloof je graag. Als dat daadwerkelijk de uitkomst is, heb ik het in dat geval niet bij het rechte eind. Ik ben er dan onterecht vanuit gegaan dat een toewijzing in een if-statement hetzelfde evalueert als zonder if-statement.

De evaluatie van de verschillende statements is hier wel duidelijk te zien:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php
$a
= true;
$b = false;

$x = $a && $b;
var_dump($x); // bool(false)

$x = $a AND $b;
var_dump($x); // bool(true)
?>

Zet je de laatste in een if-statement, dat evalueert hij wel weer naar FALSE. En als je daar even langer over nadenkt, is het logisch: de haakjes zorgen dat het statement wel goed uitgevoerd wordt.
Gewijzigd op 01/01/1970 01:00:00 door Joren de Wit
 
John D

John D

10/01/2010 16:59:00
Quote Anchor link
Ik vrees toch dat er onderweg in de code en de conclusies sprake is van appelen met peren vergelijken. Mag je een comparison operator qua orde in een lijstje interpreteren en een hogere orde (precedence) geven dan een boolean operator of niet of omgekeerd ? Naar mijn mening is het lijstje http://www.php.net/manual/en/language.operators.precedence.php op zich al verwarrend omdat er teveel type operators in staan. Dit druist eigenlijk in tegen de regels van het programmeren. Er zou per type een lijstje moeten staan toch ?
 

10/01/2010 20:08:00
Quote Anchor link
Van boven naar beneden, hoog naar laag.
Vrij normaal tabelletje is dit, zo ziet het er in andere talen ook ongeveer uit:
http://www.difranco.net/cop2220/op-prec.htm
http://www.cppreference.com/wiki/operator_precedence
http://java.sun.com/docs/books/tutorial/java/nutsandbolts/operators.html
http://msdn.microsoft.com/en-us/library/ms190276.aspx
http://msdn.microsoft.com/en-us/library/aa691323(VS.71).aspx
http://www.codehouse.com/javascript/precedence/

@Blanche: Erg jammer en slecht dat jij dit niet eens weet, het staat zelfs in de meeste beginnersboeken (zoals Easy computing gids PHP 5, wat niet echt een geweldig goed boek is).
 

Pagina: « vorige 1 2



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.