Archief - PHP: of [MYSQL] null value

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

passero

Legacy Member
Tijdens de uren ben ik oracle developer maar daarbuiten hou ik me nogal bezig met php en nu heb is er een heel handige functie die ik in oracle zeer veel gebruik waar ik graag het php equivalant van zou weten...

in orcale:
variabele = nvl(var1,var2);

dit wil zeggen dat als de waarde in var1 null is, dan geeft hij gewoon var2 terug, anders krijgt hij var1 terug.

Bestaat zo iets in php? Het kan eventueel ook in mysql omdat het meestal om selects gaat.

passero

Legacy Member
mja zo iets dacht ik al maar das via een omweg... vroeg me af of zo iets eenvoudiger kon.

in mysql heb ik het al gevonden:

ifnull(veld,waarde) doet hetzelfde dan nvl(veld,waarde) in oracle :)
Nu nog de php equivalanet en ik ben een gelukkig man.

Ik weet dat het heel simpel zelf te schrijven is:

Code:
function nvl($var,$value)
{
   if(isset($var)
   {
       return $var;
   }
   else
   {
      return $value;
   }
}

maar we moeten het niet uitvinden als het al bestaat hé

Radiance

Legacy Member
Bestaat niet bij mijn weten.

Pas overigens wel op met wat je daar als alternatief wil gebruiken, isset() controleert of de variabele al dan niet geset is. De waarde kan nog altijd geset zijn als null, false, integer 0 etc., weet dus goed wat je juist als positieve & negatieve match wil beschouwen.

Radiance

Legacy Member
Nee, dermee da k het nog speciaal in 't vet heb gezet (maar da valt percies ni zo goed uit).
PHP is geen strong typed taal, == zal waarden van verschillende types alsnog gelijk aan mekaar stellen, null, (int)0, (string)"" zullen allemaal gelijk zijn aan mekaar.

Edit : percies wat laat :)

dJeez

Legacy Member
Er bestaat trouwens ook een is_null functie in PHP zelf, maar ik zou die afhandeling toch aan MySQL zelf overlaten (via IFNULL of COALESCE).

passero

Legacy Member
ah ok, dus rekening houdend met jullie opmerkingen moet het dit worden:

Code:
function nvl($var,$value)
{
   if(!$var === null)
   {
       return $var;
   }
   else
   {
      return $value;
   }
}
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan