FRIHOSTFORUMSFAQTOSBLOGSDIRECTORY
You are invited to Log in or Register a Frihost Account!

php

 


moeslimoen
Ik ben niet goed in engels maar volg toch de php cursus op http://www.w3schools.com ik hoop dat ik mijn vragen hiet kan posten.

dit stuk begrijp ik niet: http://www.w3schools.com./php/php_operators.asp

kan iemand mij uitleggen wat ze hier bedoelen Question
joe_nl
Ik ben geen professor in de PHP, maar ik werk er wel regelmatig mee.
Door die 'praktijk ervaring' kan ik je zeggen dat op http://www.w3schools.com./php/php_operators.asp met name de onderste 2 tabellen van belang zijn. Hier bedoel ik dan Comparison en Logical Operators.
Deze worden in PHP-scripts regelamtig gebruikt en spreken in principe redelijk voor zich. Het gaat met name om de notatie, vaak in combinatie met de nodige aanhalingstekens etc.
Deze tekens worden binnen PHP vaak gebruikt binnen een if(...) en verder in combinatie met SQL-queries en dergelijke.

== is gelijk aan
!= is niet gelijk aan
> is groter dan
< is kleiner dan
>= is groter dan of gelijk aan
<= is kleiner dan of gelijk aan

&& betekent 'en', gebruik bij een combinatie van bijv. 2 bovenstaande
|| betekend 'of', wanneer 1 van de gestelde kriteria ergens aan moet voldoen
! betekend 'niet', is dus in meer combinaties mogelijk als alleen bij 'is niet gelijk aan', maar ook met andere zaken.

Dit leer je pas echt goed bij het gebruikt er van tijdens het scripten, het is vrij eenvoudig, een kwestie van opzoeken als je het nodig hebt indien nodig.

Grz. Joe.
James007
Wel opletten met de "isgelijkaantjes".

Er is "=", wat gewoon een gelijkstelling betekent:

$variabele = "de waarde die je de variabele geeft.";

Er is ook "==" voor een gelijkstelling. Als je een controlestructuur maakt met IF gebruik je - denk ik - altijd "=="

if ( $a == $b ) {
print 'Variabele a is gelijk aan variabele b.";
} else {
print 'Variabele a is niet gelijk aan variabele b.";
}

en dan is er ook nog "===" en dat is voor iets exact gelijk te stellen aan iets anders. Beetje vaag, maar iemand met meer ervaring als ik legt je vast het verschil wel uit. Very Happy
joe_nl
Ik ben het wel met je eens inderdaad James, ik gebruikt over het algemeen alleen '==', mogelijk omdat ik het preciese gebruik van '=' en '===' niet zo goed weet binnen vergelijkingen. Op de pagina die moeslimoen linkte zie ik die combinaties ook niet staan.
De '=' wordt dacht ik inderdaad over het algemeen wel gebruikt :
Code:

<?php
$variabele = "Tekst bijvoorbeeld";
echo $variabele;
?>

Bijvoorbeeld bij dit soort dingen, maar voor het stellen van vergelijkingen zoals op de eerdergenoemde site werkt dat niet zo goed geloof ik.

Ik ben ook benieuwd of iemand het nog precieser kan uitleggen,
grz. Joe.
rvec
http://www.php.net/manual/nl/language.operators.comparison.php
daar staat het allemaal
is trouwens weer in het engels

== betekend "is gelijk" als de waarde ervoor hetzelfde is als de waarde erachter is de uitkomst "true"
=== betekend "is identiek" het verschil met het bovenstaande is mij ook niet helemaal duidelijk

maar in de link hierboven staat dat bij deze ook het type hetzelfde moet zijn.
Ik denk dus dat null bij de bovenste hetzelfde is als 0 en bij de 2e niet.

= is wel duidelijk wat anders, deze stelt een variabele gelijk aan een waarde. Het is dus geen vergelijking maar gewoon een toekenning van een waarde.
Georgeboy
Zoals in de meeste programmeertalen courant is:
'=' is een toekenning, nooit te gebruiken om een voorwaarde te testen. Dus niet gebruiken bij een if, while, for... enz

'==' en '===' betekenen iets helemaal anders dan '='. Veel beginnende programmeurs maken wel eens die fouten. Maar na wat ervaring of er een fout tegen te maken en te moeten zoeken achter het probleem, zul je het juiste gebruik snel leren.

Wat is nu het verschil tussen '==' en '==='?
Wel, '==' voert een test uit op het linker- en rechterlid van de operator. Wanneer die twee gelijk zijn aan elkaar, dit wil dus zeggen, dezelfde waarde hebben, dan zal de test als resultaat 1 (true) geven.
'===' daarentegen zal ook een test uitvoeren, maar zal naast de gelijkheid in waarde ook de gelijkheid in type gaan controleren.

bvb 1 == 1.0 zal true zijn, want links int en rechts float er gebeurt automatisch een casting zodat beide hetzelfde type hebben. Maar 1 === 1.0 geeft false. Hier gebeurt geen casting !!!

Hopelijk is dit een ietsiepietsje duidelijker geworden?

Greetz
rvec
klopt het dan ook dat
0 == null geeft true ? Of is dat weer te ruim?
traxion
rvec wrote:
klopt het dan ook dat
0 == null geeft true ? Of is dat weer te ruim?


dat is volgens mij erg ruim gedacht

de null waarde in database is helemaal niks, geen spatie ofzo.. helemaal niks

een 0 is een waarde dus als je 0 vergelijkt met niks dan is dat false
Georgeboy
traxion wrote:
rvec wrote:
klopt het dan ook dat
0 == null geeft true ? Of is dat weer te ruim?


dat is volgens mij erg ruim gedacht

de null waarde in database is helemaal niks, geen spatie ofzo.. helemaal niks

een 0 is een waarde dus als je 0 vergelijkt met niks dan is dat false


om alle misverstanden te mijden heb ik eventjes een scriptje laten rollen. Het resultaat kun je terug vinden op http://jot.frih.net/test_operator.php kunnen jullie het juiste resultaat vinden. Voor mensen die denken dat ik het hardgecodeerd heb, zet ik hier ook even het scriptje:
Code:
<?php
if (0 == null){
echo("0 = = null is true<br><br>");
} else {
echo("0 = = null is false<br><br>");
}
if (0 === null){
echo("0 = = = null is true");
} else {
echo("0 = = = null is false");
}
?>


Nu maak ik wel kleine opmerking. Een null waarde geeft meestal nul weer, zelfde als een string. Daar wordt bij testen ook een waarde nul aan gegeven als die vergeleken wordt met een getal.

Greetz
rvec
pagina laad niet zo goed,
mirror:
http://www.bierkip.nl/test.php

En ik zie het null is dus hetzelfde als 0 maar niet hetzelfde type.
Georgeboy
rvec wrote:
pagina laadt niet zo goed


Mja, ik weet het. Ik ondervind de laatste tijd vaak problemen via server 2. Ik weet ook dat het probleem gekend is.
Server 1 zou een uptime hebben van 100%, maar server 2 een uptime van 98.46%. Wat op zich volgens mij voor een gratis host ook niet slecht is, maar volgens mij is er iets meer aan de hand. Ter vergelijking op het moment van schrijven staat de uptime voor server 2 op 1 h 41 minuten, terwijl server 1 op 46 dagen 13 uur en 7 minuten staat. Ik hoop dat server 2 ook zijn goede voornemens maakt voor het nieuwe jaar...Wink

Mijn beste wensen trouwens voor jullie allemaal !!
RoomRooz
Georgeboy wrote:


Wat is nu het verschil tussen '==' en '==='?
Wel, '==' voert een test uit op het linker- en rechterlid van de operator. Wanneer die twee gelijk zijn aan elkaar, dit wil dus zeggen, dezelfde waarde hebben, dan zal de test als resultaat 1 (true) geven.
'===' daarentegen zal ook een test uitvoeren, maar zal naast de gelijkheid in waarde ook de gelijkheid in type gaan controleren.

bvb 1 == 1.0 zal true zijn, want links int en rechts float er gebeurt automatisch een casting zodat beide hetzelfde type hebben. Maar 1 === 1.0 geeft false. Hier gebeurt geen casting !!!


Wat betekent dat laatste? Links int, rechts float, wat is dat? En wat is een casting? Ben nogal een noob wat betreft PHP, maar ben er wel weer mee bezig, dus alle tips zijn welkom Wink .
James007
Misschien is het bezoeken van www.php.net voor zo'n vragen een beter idee.

http://be2.php.net/manual/en/language.types.type-juggling.php
RoomRooz
Ja, oké, bedankt.
peter_
Ik kan het je erg makkelijk uitleggen(hoop ik dan he;))
In het volgende scriptje.

Code:
<?PHP // Altijd beginnen met <?PHP of <?php of <?
$a = '3'; // Nu wordt er een getal in een variable gedumt zegmaar dus als je straks $a aanroep dan ziet hij dat het 3 is
$b = '4'; // Dit is precies hetzelfde alleen nu wordt is $b: 4

if($b == $a) // Doormiddel van == gaan we vragen of het gelijk is
{ // De lus openen naturlich;) (Jaja heb net Deutsch gehad)
echo $b . " Is gelijk aan " . $a;// ff de bezoeker laten weten he
}
else
{
echo $b . " Is niet gelijk aan " . $a;// of andersom
}
?>
Je kunt de == vervangen door:
<= is gelijk of gelijk aan
>= is groter of gelijk aan
!= is niet
=== is identiek aan
< is kleiner dan
> is groter dan
&& en
|| of
Deze dingen ook wel Operators genoemt kun je invullen bij de ==.
Het lijkt me wel verstandig om de tekst aan te passen.

Ennee... nog iets...
als je wilt "meten" of iets gelijk is gebruik dan niet = maar == want een = wordt gebruikt om iets in een variabel te dumpen.

Groetjes...

Het is de bedoeling dat scripts tussen de [code] tags gezet worden! Doe dat even de volgende keer Wink -- Lady Elensar
Maxus
koop een goed boek of zoek op nederlandstalige site maar Engels is bijna een vereiste in de computerindustrie
moeslimoen
ik wil één fout verbeteren in mijn foto gallerij. (ik heb een script gedownload) alleen als ik een afbeelding heb geupload dan laat hij een kruisje zien. de link klopt niet.

hou je vast, dit is het script van de index. http://darsalam.kwikphp.com/gallery.txt
rvec
kan je wat meer info geven?
Het lijkt me nogal moeilijk zoeken in dit bestand. Welke software heb je bijvoorbeeld gebruikt?

edit: laat maar al gevonden: http://phpgraphy.sourceforge.net/

edit 2: ik ben het nu aan het uitproberen op http://www.bierkip.nl/gallery

edit 3: Bij mij werkt alles goed. Zie http://www.bierkip.nl/gallery waar 2 folders met foto's staan en in een ervan zitten ook filmpjes. Maar filmpjes werken bij mij (nog) niet goed. Kan zijn dat de server het niet ondersteund (niet frihost).
Dream_hytec
Hallo,

Het is nogal moeilijk om goede informatie te vinden in het Nederlands over PHP. Tegenwoordig moet je overal 2 tot 3 talig zijn om maar iets te vinden die begrijpbaar is.

Gelukkig is Engels over het algemeen de meest gebruikte taal over WWW.
Ik heb onlangs nog cursussen HTML & PHP gevolgd (in het Nederlands Very Happy )
Want om mee te zijn met alles is het belangrijk veel bij te houden.

mvg
Dream Hytec
Reply to topic    Frihost Forum Index -> Dutch -> Computers en Techniek

FRIHOST HOME | FAQ | TOS | ABOUT US | CONTACT US | SITE MAP
© 2005-2007 Frihost, forums powered by phpBB.