Gelykheid volgens waarde en tipe in PHP
Gestel jy wil so vergelyk dat 'n getal
in aanhalingstekens nie gelyk is aan dieselfde getal
sonder aanhalingstekens nie. Met ander woorde, jy wil
vergelyk sodat die vergelyking nie net
volgens waarde is nie, maar ook volgens datatipe. Vir hierdie
doel moet jy in plaas van die operateur == die
operateur === gebruik. Vergelyking met so 'n operateur
word streng genoem.
Kyk na die voorbeeld:
<?php
if ('3' === 3) {
echo '+++';
} else {
echo '---'; // dit sal werk, want die waardes is nie gelyk volgens tipe nie
}
?>
Maar met die vergelyking van twee strings '3'
sal '+' op die skerm vertoon word:
<?php
if ('3' === '3') {
echo '+++'; // dit sal werk
} else {
echo '---';
}
?>
Net so, soos met die vergelyking van getalle:
<?php
if (3 === 3) {
echo '+++'; // dit sal werk
} else {
echo '---';
}
?>
Die verskil tussen die twee operateurs manifesteer presies wanneer die waardes dieselfde is, maar die datatipe verskil. In ander gevalle werk hierdie operateurs dieselfde. Byvoorbeeld, met die vergelyking van verskillende getalle, sal daar natuurlik 'n minus vertoon word:
<?php
if (2 === 3) {
echo '+++';
} else {
echo '---'; // dit sal werk
}
?>
Tans is dit algemeen aanvaarbaar in PHP om oral streng vergelyking te gebruik. Daar word geglo dat die kode in hierdie geval minder vatbaar is vir foute.
Sonder om die kode uit te voer, bepaal wat op die skerm vertoon sal word:
<?php
$test1 = '3';
$test2 = '3';
if ($test1 == $test2) {
echo '+++';
} else {
echo '---';
}
?>
Sonder om die kode uit te voer, bepaal wat op die skerm vertoon sal word:
<?php
$test1 = '3';
$test2 = '3';
if ($test1 === $test2) {
echo '+++';
} else {
echo '---';
}
?>
Sonder om die kode uit te voer, bepaal wat op die skerm vertoon sal word:
<?php
$test1 = 3;
$test2 = '3';
if ($test1 == $test2) {
echo '+++';
} else {
echo '---';
}
?>
Sonder om die kode uit te voer, bepaal wat op die skerm vertoon sal word:
<?php
$test1 = 3;
$test2 = '3';
if ($test1 === $test2) {
echo '+++';
} else {
echo '---';
}
?>
Sonder om die kode uit te voer, bepaal wat op die skerm vertoon sal word:
<?php
$test1 = 3;
$test2 = 3;
if ($test1 === $test2) {
echo '+++';
} else {
echo '---';
}
?>