Monday, September 14, 2009

null and empty strings when juggling between php and js


<?php
$str=array();
$str['empty_string']='';
$str['null']=null;
echo('
<script>
function js_isnull(text)
{
document.write((text==null) ? "true":"false");
}
function js_isempty(text)
{
document.write((text==\'\') ? "true":"false")
}
</script>
'
);
foreach($str as $k=>$s)
{
echo("$k == null: ");
echo(($s==null) ? "true":"false");

echo("<br>");

echo("$k == '': ");
echo(($s=='') ? "true":"false");

echo("<br>");

echo("$k == javascript null, passed WITH quotes: ");
echo("<script>js_isnull('$s');</script>");

echo("<br>");

echo("$k == javascript '', passed WITH quotes: ");
echo("<script>js_isempty('$s');</script>");

echo("<br>");
echo("<br>");

}
exit;


and here are the results:

empty_string == null: true
empty_string == '': true
empty_string == javascript null, passed WITH quotes: false
empty_string == javascript '', passed WITH quotes: true

null == null: true
null == '': true
null == javascript null, passed WITH quotes: false
null == javascript '', passed WITH quotes: true

No comments: