|
użytkowników online: 79
|
OPINIE UŻYTKOWNIKÓW
|
Gratulacje i dzięki! Trafiłem tu przypadkiem poszukując informacji na temat php+mysql. Wiele polskich stron powiela identyczne przykłady, klonuje te same kursy i lekcje... ten serwis okazał sie inny. Zasada "problem - rozwiazanie - wyjaśnienie" zdaje egzamin - zapewnia jasną, jednoznaczną i pewną pomoc w konkretnym przypadku. Porady są warte swojej ceny, przede wszystkim ze względu na przyjazną (także dla początkujących) formę i treść oraz bogate i stale powiększane zasoby. Polecam i pozdrawiam!
Kamil Dmowski
Polski Czerwony Krzyż
|
|
PODRĘCZNIK PHP 5.x, 4.x, 3.x - częściowo spolszczony / źródło: www.php.net
[Spis]
[A]
[B]
[C]
[D]
[E]
[F]
[G]
[H]
[I]
[J]
[K]
[L]
[M]
[N]
[O]
[P]
[Q]
[R]
[S]
[T]
[U]
[V]
[X]
[W]
[Z]
Specjalna wartość NULL oznacza, że zmienna nie przechowuje żadnej
wartości. NULL jest jedyną możliwą wartością typu NULL.
Notatka:
Typ NULL został wprowadzony w PHP 4.
Jest tylko jedna wartość, jaką może mieć typ NULL i jest nią słowo
kluczowe NULL. Wielkość liter słowa NULL nie gra roli.
User Contributed Noteszola at zolaweb dot com
15-Jan-2006 06:53
Discovered something probably worth mentioning.
I had a form that had several values that didn't have to be set. I wanted to use the word "NULL" as a word (as opposed to the NULL constant) to go into the SQL statement when creating a new record.
If I do a check based on the variable having no value:
if ($array['var'] == "")
{
$array['var'] = "NULL";
}
Then $array['var'] contains the word "NULL" the way I want it to, BUT I have to be careful with the sql statement (more on this in a moment)
On the other hand, if I check via !isset()
if (!isset($array['var']))
{
$array['var'] = "NULL";
}
It treats NULL as the constant and unsets the variable.
In the SQL, if I am inserting and put it in as is:
$sql = "INSERT INTO mytable VALUES(NULL, ".$array['var'] .", ' ".$array['some_other_var'] ." ')";
the word NULL replaces $array['var'] as it should, but if I enclose the variable in single quotes (because maybe that variable, if it's set, will contain a space)
$sql = "INSERT INTO mytable VALUES(NULL, ' ".$array['var'] ." ', ' ".$array['some_other_var'] ." ')";
again, it treats NULL as the constant NULL instead of the word.
This seems inconsistent--one would have thought that enclosing it in double quotes would say I want the letters NULL as opposed to the constant, and I'll bug report it as well but wanted to mention it here for other users.
06-Jan-2006 10:51
// Difference between "unset($a);" and "$a = NULL;" :
<?php
$a = 5;
$b = & $a;
unset($a);
print "b $b "; $a = 5;
$b = & $a;
$a = NULL;
print "b $b "; print(! isset($b)); ?>
getphp at gmx dot net
04-Aug-2005 01:54
in addition to poutri_j at epitech dot net:
you missed that ($var == null) dont respect the type ... try this:
<?php
$t = array();
if ($t === NULL OR is_null($t)) {
echo "Value is NULL";
} elseif ($t === TRUE) {
echo "Value is TRUE";
} elseif ($t == NULL OR empty($t)) {
echo "Value not set or empty.";
}
?>
Output:
Value maybe not set or empty.
PS: Yes, some conditions are redundant. This was intended.
poutri_j at epitech dot net
26-Jul-2005 01:56
if you declare something like this :
class toto
{
public $a = array();
public function load()
{
if ($this->a == null) // ==> the result is true
$a = other_func();
}
}
be carefull, that's strange but an empty array is considered as a null variable
disappear at dissolution dot ath dot cx
02-May-2005 12:20
Hi,
Im using PHP 5.0.3
i wrote a small null study to test the cases here and this is the results i got
Code ::
<?php
$Array = array ( 0 , '' , FALSE , NULL ) ;
$ArrayCount = count ( $Array ) ;
$String .= '$Array = ' . "array ( 0 , '' , FALSE , NULL ) <br><br>" ;
for ( $i = 0 ; $i < $ArrayCount ; $i++ )
{
if ( $Array [ $i ] == NULL )
{
$String .= '$Array [ $i ] == NULL :: $Array [ ' . $i . ' ] <br>' ;
}
if ( $Array [ $i ] === NULL )
{
$String .= '$Array [ $i ] === NULL :: $Array [ ' . $i . ' ] <br>' ;
}
if ( is_null ( $Array [ $i ] ) )
{
$String .= 'is_null ( $Array [ $i ] ) :: $Array [ ' . $i . ' ] <br>' ;
}
}
echo $String ;
?>
Results ::
$Array = array ( 0 , '' , FALSE , NULL )
$Array [ $i ] == NULL :: $Array [ 0 ]
$Array [ $i ] == NULL :: $Array [ 1 ]
$Array [ $i ] == NULL :: $Array [ 2 ]
$Array [ $i ] == NULL :: $Array [ 3 ]
$Array [ $i ] === NULL :: $Array [ 3 ]
is_null ( $Array [ $i ] ) :: $Array [ 3 ]
jaumesb aat consert doot net
26-Feb-2005 09:38
Note that the expression
( $v == NULL )
will evaluate as TRUE if $v is zero or the empty string.
To avoid this, remember to use :
( $v === NULL )
rizwan_nawaz786 at hotmail dot com
19-Oct-2004 06:22
Hi
Rizwan Here
Null is the Constant in PHP. it is use to assign a empty value to the variable like
$a=NULL;
At this time $a has is NULL or $a has no value;
When we declaire a veriable in other languages than that veriable has some value depending on the value of memory location at which it is pointed but in php when we declaire a veriable than php assign a NULL to a veriable.
pozmu at wp dot pl
21-Apr-2004 05:21
responding to joemamacow at hotmail dot com comment:
if you are using isset() to check is the variable set, the more logically and clear way to "delete" the variable is to use unset() (http://www.php.net/unset ) function:
<?php
unset($variable);
?>
Of course setiing variable value to NULL is also OK.
alex at netflex dot nl
13-Jun-2002 01:13
Hi,
Function for looking if it is a NULL
<?php
$var = NULL;
if (isnull("var")) {
echo "var===NULL\n";
} else {
echo "var!==NULL\n";
}
if (isnull("test")) { echo "test===NULL\n";
} else {
echo "test!==NULL\n";
}
$array['var'] = NULL;
if (isnull("var", $array)) {
echo "array['var']===NULL\n";
} else {
echo "array['var']!==NULL\n";
}
function isnull($var, $base = FALSE) {
if ($base===FALSE) {
$base = &$GLOBALS;
} elseif (!is_array($base)) {
return FALSE;
}
if ((array_key_exists($var, $base))&&($base[$var]===NULL)) {
return TRUE;
} else {
return FALSE;
}
}
?>
avbentem at hetnet.nl
22-Feb-2002 10:25
To extend a bit on tbdavis's comment:
:: NULL == NULL is true
:: NULL == FALSE is true
:: NULL == TRUE is false
However: note the implicit type conversions that PHP performs! When using 'identical' instead of 'equal' then both NULL === FALSE and NULL === TRUE yield FALSE. An overview is easily created using something like
function evalExpr( $desc )
{
echo str_pad($desc , 15) . "--> ";
var_dump( eval( "return(" . $desc . ");" ));
}
Note that even TRUE AND TRUE does not evaluate to a boolean value, and that OR and XOR behave different as well!
PHP Version: 4.0.6
false --> bool(false)
true --> bool(true)
null --> NULL
!null --> bool(true)
true and true --> int(1)
true and false --> int(0)
true or true --> int(1)
true or false --> int(1)
true xor true --> bool(false)
true xor false --> bool(true)
true == null --> bool(false)
true === null --> bool(false)
true != null --> bool(true)
true !== null --> bool(true)
false == null --> bool(true)
false === null --> bool(false)
false != null --> bool(false)
false !== null --> bool(true)
null == null --> bool(true)
null != null --> bool(false)
null === null --> bool(true)
null !== null --> bool(false)
null or null --> int(0)
null xor null --> bool(false)
null and null --> int(0)
true or null --> int(1)
true xor null --> bool(true)
true and null --> int(0)
false or null --> int(0)
false xor null --> bool(false)
false and null --> int(0)
true < null --> bool(false)
true > null --> bool(true)
false < null --> bool(false)
false > null --> bool(false)
1 + null --> int(1)
"text" . null --> string(4) "text"
Finally, for those who do not know SQL: in SQL the NULL value is evaluated a bit like "I do not know; it could be anything, like 0, 1, a, b, true, false or even nothing at all". This implies that in SQL NULL == NULL could be interpreted as "could be anything" == "could be something else", which does not yield true! Instead, it yields NULL, which boils down to FALSE in boolean context...
Likewise, in SQL:
NULL AND TRUE yields NULL
NULL OR TRUE yields TRUE
NULL AND FALSE yields FALSE
NULL OR FALSE yields NULL
NULL == TRUE yields FALSE
NULL == FALSE yields FALSE
a.
sc at dbtech dot de
17-Feb-2002 12:59
NULL as the best way to detect additional parameters of unknown type:
function FooBar($Param = NULL) {
if (is_null($Param)) {
[...]
junk dot phpnet at gasolinemm dot com
18-Nov-2001 06:19
$a = "";
$b = NULL;
$a == $b;
/* returns true: $a has been converted to $b for the equality comparison */
is_null($a); //returns false
is_null($b); //returns true
$a === $b;
/* returns false: $a is not _identical_ to $b */
dward at maidencreek dot com
13-Nov-2001 12:52
Nulls are almost the same as unset variables and it is hard to tell the difference without creating errors from the interpreter:
$var = NULL;
isset($var) is FALSE
empty($var) is TRUE
is_null($var) is TRUE
isset($novar) is FALSE
empty($novar) is TRUE
is_null($novar) gives an Undefined variable error
$var IS in the symbol table (from get_defined_vars())
$var CAN be used as an argument or an expression.
So, in most cases I found that we needed to use !isset($var) intead of is_null($var) and then set $var = NULL if the variable needs to be used later to guarantee that $var is a valid variable with a NULL value instead of being undefined.
tbdavis at greyshirt dot net
11-Oct-2001 01:36
Unlike the relational model, NULL in PHP has the following properties:
NULL == NULL is true,
NULL == FALSE is true.
And in line with the relational model, NULL == TRUE fails.
|