As described in php manual 

> 
> It is not necessary to initialize variables in PHP however it is a very good practice. Uninitialized variables have a default value of their type depending on the context in which they are used - booleans default to FALSE, integers and floats default to zero, strings (e.g. used in echo) are set as an empty string and arrays become to an empty array
> 
> 
> 

if so then why its through error (notice) when try to access uninitialized variable? like

```
echo $x;

```

its return even in script following message 

> 
> Notice: Undefined variable: x...
> 
> 
> 

But When I declare `$x` as `NULL` then its not through any notice or error and working nicely

```
$x = NULL;
echo $x;

```

**Now My Question** is Why its through notice if not declare like `$x = NULL` or `$x = ''` although undeclared variable initialized as `NULL` which is clearly mentioned in Manual??

I have a script and many uninitialized variable there and experiencing this issue.