Wat voor waarde geef je $db_uitaan?
1/0
true/false
Als het 1 van deze waardes is dan gaat dit goed:
<?
if( isset($db_uitaan) && $db_uitaan )
{
// $db_uitaan is geset (ongelijk aan null) en
// $db_uitaan is true,1,niet '', "" of array() (geen lege string of array)
}
?>
Link gekopieerd
if ($db_uitaan != "" )
{
blabla uitvoeren.
}
i.p.v.
if (!$db_uitaan == "" )
{
blabla uitvoeren.
}
Link gekopieerd
if(!(empty($db_uitstaan)))
{
uitvoeren
}
kan zo toch ook?
Link gekopieerd
@Jonathan:
De expressies zijn gelijk aan elkaar.
@niels:
Dat is idd een hele goeie en gelijk aan mijn oplossing. Die extra haken hoeven er niet omheen trouwens.
Link gekopieerd
Martijn! schreef op 01.07.2006 12:30
@Jonathan:
De expressies zijn gelijk aan elkaar.
Dat is niet waar.
!= is iets anders dan !==
En wat !(iets == nogiets) doet is weer wat anders.
Maar goed even ontoppic:
hier:
http://nl3.php.net/manual/nl/language.operators.comparison.php
staat alles een beetje uitgelegd als het om vergelijkingen gaat. Verder wordt een vergelijk met een lege string "" meestal vervangen door [php]empty[/php]()
Link gekopieerd
@Boaz:
Waar zie jij "!==" staan?
Ik het het over $db_uitaan != "" is gelijk aan !$db_uitaan == "".
Link gekopieerd
Martijn! schreef op 01.07.2006 15:12
Ik het het over $db_uitaan != "" is gelijk aan !$db_uitaan == "".
En volgens mij is het toch niet exact hetzelfde.
Want:
$db_uitaan != "" ($db_uitaan is NOT gelijk aan "")
!$db_uitaan == "" (NOT($db_uitaan) is gelijk aan "")
Link gekopieerd
SanThe schreef op 01.07.2006 15:30
[quote=Martijn! schreef op 01.07.2006 15:12]Ik het het over $db_uitaan != "" is gelijk aan !$db_uitaan == "".
En volgens mij is het toch niet exact hetzelfde.
Want:
$db_uitaan != "" ($db_uitaan is NOT gelijk aan "")
!$db_uitaan == "" (NOT($db_uitaan) is gelijk aan "")[/quote]
idd er is een verschil, er gebeurt een extra bewerking in het 2e geval, true => false of omgekeerd. Maar het resultaat is wel het zelfde
Link gekopieerd
Volgens mij is het:
!$db_uitaan == "" ( NOT($db_uitaan == "") )
Maar ik gebruik altijd !=
edit:
Ik heb maar ff een test scriptje gemaakt:
<?php
error_reporting(E_ALL);
$a = array('', 0, -1, array(), 'x', null);
foreach( $a as $k => $x )
{
echo 'Key ' . $k . ': ';
if( $x != "" )
echo '1';
if( !$x == "" )
echo '2';
if( !($x == "") )
echo '3';
if( !($x) == "" )
echo '4';
echo '<br />';
}
?>
Resultaat:
Key 0:
Key 1:
Key 2: 1234
Key 3: 13
Key 4: 1234
Key 5:
1 en 3 lijken gelijk aan elkaar.
1 en 2 dus niet ;(
Link gekopieerd
Hmm, wel interessant, pakt:
!$x == ""
niet de omgekeerde van $x?
en
!($x == "")
het omgekeerde van de vergelijking $x == ""?
Link gekopieerd