PHP data Type

PHP ১০ ধরনের primitive data type support করে। আবার এই primitive data type গুলো কিছু ভাগে ভাগ করা হয়ছে যেমন-

৪ টি scalar data types:

‌১। boolean
২। integer
৩। float (floating-point number or double)
৪। string

৪ টি compound data types:

১। array
২। object
৩। callable
৪। iterable

২ টি special data types:

১। resource
২। NULL

৪ টি scalar data types

‌১। boolean

PHP তে কোন truth value কেই বলা হয় Boolean Data Type. এই truth value টি হতে পারে শুধুমাত্র true অথবা false. যেমন- কোন একটি variable এর value হবে true অথবা false মানে Boolean Data Type. উদাহরন স্বরূপ-

$is_he_married = false;
$did_your_passed = true;

এখানে আমরা ২ টি variable declare করেছি এবং তাদের value হিসেবে দিয়েছি false এবং true। মানে এই ২ টি variable এর value এখন Boolean Data Type।

PHP তে আমরা যদি কোন true value – কে echo করি আমরা ১ দেখতে পাব আর false value – কে echo করলে কিছু দেখতে পাবো না। কারন PHP তে true এর value
হলো ১ এবং false এর value হলো ০।

‌২। integer

যে কোন পূর্ন সংখ্যার number কেই বলা হয় Integer Data Type। যেমন- ১, ৩, ৩০, -২, -১ ইত্যাদি। এই Integer Data Type গুলোকে আবার decimal, hexadecimal, octal অথবা binary তেও দেখানো যায়।
এখানে decimal সবসময় base 10 এ, hexadecimal base 16 এ, octal base 8 এবং binary base 2 notation হয়ে থাকে।
এখন আপনি যদি কোন binary number লিখতে চান তাহলে সেই number এর আগে 0b দিয়ে শুরু করতে হবে। যেমন- 0b11111111
আবার কোন octal number এর ক্ষেত্রে প্রথমে 0 হয়ে থাকে। যেমন- 0123;
কোন hexadecimal number এর ক্ষেত্রে প্রথমে 0x হয়ে থাকে। যেমন- 0x1A;
কোন decimal number এর ক্ষেত্রে আমরা সাধারনত দৈনন্দিন জীবনে যে সকল number ব্যবহার করে থাকি। যেমন- 123;

৩। float (floating-point number or double)

float বা floating-point number বলতে সেই সকল সংখ্যাকে বুঝায় যাদের দশমিকের পর কোন সংখ্যা থাকে। যেমন- 1.234, অথবা 1.2e3
এই float কে আবার doubles অথবা real numbers বলা হয়ে থাকে।

৪। string

string হলো কোন একটা অক্ষরের সমষ্টি যেমন- I love PHP, Hello there, How are you? এই বাক্যগুলো এক একটি হচ্ছে string।
PHP তে string কে আপনি ৪ ভাবে দেখাতে পারবেন-
ক) single quoted
খ) double quoted
গ) heredoc syntax
ঘ) nowdoc syntax

ক) single quoted

আমরা PHP তে যখন কোন string value দেখাতে চাই তখন সেই string value কে single quoted দিয়ে ঘিরে দিতে পারি। যেমন-

echo 'My name is Shibbir Ahmed';

এখানে আমরা একটি বাক্য My name is Shibbir Ahmed এর বাম এবং ডান পাশে single quoted দিয়ে দিয়েছি। এভাবেই single quoted এর মাধ্যমে আপনি string value লিখতে পারবেন।
এখন আপনি যদি কোন একটা বাক্য single quoted দিয়ে শুরু করেন তাহলে সেই বাক্যের ভিতরে যদি কোন single quoted ব্যবহার করার প্রয়োজন পড়ে তাহলে তা escape sequence character দিয়ে escape করে নিতে হবে। যেমন-

It's Okay

এখানে বাক্যের মধ্যে আমরা একটি single quoted দেখতে পাচ্ছি। এখন আপনি যদি এভাবে echo করেন –

echo 'It's Okay';

তাহলে একটা এরর দেখতে পাবেন-

Parse error: syntax error, unexpected 's' (T_STRING), expecting ',' or ';' in

এই এরর থেকে বাঁচার জন্য আপনাকে escape sequence character ব্যবহার করতে হবে। যেমন-

echo 'It\'s Okay';

এখন আপনি output হিসেবে দেখতে পাবেন যে-

It's Okay

ঐ escape sequence character (\) ব্যাক স্ল্যাশ কিন্তু দেখা যাবে না।
আবার মনে রাখবেন single quoted এর ভিতরে যদি কোন variable নিয়ে থাকেন তাহলে সেই variable এর value দেখা যাবে না। যেমন- আপনি যদি কোন একটা variable নেন এবং echo করেন এই ভাবে-

$developer = 'Shibbir Ahmed';
echo 'This site is developed by $developer';

তাহলে আপনি output হিসেবে দেখতে পাবেন-

This site is developed by $developer

এখানে দেখতে পাচ্ছেন যে- single quoted এর ভিতরে variable এর value টা দেখাচ্ছে না। আপনি যদি দেখাতে চান তাহলে আপনি double quoted অথবা ঐ variable এর আগে বাক্যটা শেষ করে দিতে পারেন single quoted দিয়ে। যেমন-

echo 'This site is developed by'. $developer;

অথবা

echo "This site is developed by $developer";

খ) double quoted

আপনি কোন একটা string কে আবার double quoted দিয়েও লিখতে পারনে। যেমন-

echo "We are learning PHP";

এখানে double quoted দিয়ে লেখার সুবিধা হলো আপনি এই string এর ভিতরে কোন একটা variable এর value দেখাতে পারবেন যা আপনি single quoted দিয়ে পারতেন না।

গ) heredoc syntax

heredoc syntax এর মাধ্যমেও আপনি string লিখতে পারবেন। এই heredoc syntax লেখার কিছু নিয়ম আছে। যেমন- প্রথমে আপনাকে ৩ টি <<< less than সাইন নিতে হবে তারপর যে কোন একটা নাম দিতে হবে তবে তা অবশ্যই বড় হাতের হতে হবে এবং নতুন একটা লাইনে আপনি যা string হিসেবে লিখতে চান তা লিখবেন এবং আবার নতুন একটা লাইনে সেই নাম টা লিখে সেমিকোলন দিয়ে দিতে হবে। মনে রাখবেন শেষে যে নাম দিয়েছেন তার আগে কোন প্রকার ফাঁকা জায়গা থাকা যাবে না। চলুন দেখে আসি-

$story = <<<SOMENAME
You write your string here
and
here
    and
        here.
SOMENAME;

এখানে দেখতে পাচ্ছেন যে আমরা প্রথমে ৩ টি <<< greater than সাইন নিয়েছি এবং একটা নাম SOMENAME নিয়েছি। এর পর কয়েকটা নতুন লাইনে কিছু বাক্য লিখেছি তার আবার নতুন একটা লাইনে সেই নামটা যা SOMENAME দিয়েছিলাম তা দিয়েছি তারপর একটা সেমিকোলন দিয়েছি। সবশেষে সম্পূর্ণ বাক্যটা আমরা একটি variable $story এর মধ্যে রেখেছি।
এখন আপনি এই variable টি যদি echo করেন-

echo $story;

তাহলে দেখতে পাবেন যে-

You write your string here and here and here.

মজার ব্যাপার হলো এই heredoc syntax এবং double quoted style এ কোন string লেখা একই কথা কারন এই ২ style এ variable এর value দেখানো যায়।
আপনি চাইলে heredoc syntax এ প্রথম নাম double quoted দিয়ে লিখতে পারেন। যেমন-

$story = <<<"SOMENAME"
You write your string here
and
here
    and
        here.
SOMENAME;

ঘ) nowdoc syntax

nowdoc syntax প্রায়ই heredoc syntax এর মতই কিন্তু এখানে নামটা Single Quoted দিয়ে ঘিরে রাখতে হয় এবং এই nowdoc syntax এ কোন variable এর value দেখা যায় না। মানে অনকেটা Single Quoted Style এ লেখার মত। যেমন-

$developer = 'Shibbir Ahmed';
$nowdoc = <<<'SOMENAME'
I am printing the outside variable which is called $developer
SOMENAME;
echo $nowdoc;

এখানে দেখতে পাচ্ছেন যে আমরা নামটা (SOMENAME) একটা Single Quoted দিয়ে ঘিরে রেখেছি এবং এর ভিতরে আমরা একটা $developer Varibale echo করেছি যা আগেই আমরা declare এবং assign করে এসেছি। সবশেষে সম্পূর্ণ বাক্যটা একটা $nowdoc Varibale এ রেখেছি।
এখন আমরা যদি এই $nowdoc Varibale টি echo করি তাহলে দেখতে পাবো-

I am printing the outside variable which is called $developer

দেখতেই পাচ্ছেন যে Varibale টির value দেখা যাচ্ছে না কারন আপনি nowdoc syntax ব্যবহার করেছেন।
 

৪ টি compound data types

১। array

array হলো একটি data structure যার মধ্যে আমরা অনেক গুলো data রাখতে পারবো। যেমন- আপনি আপনার পড়ার টেবিলের ড্রয়ারটা চিন্তা করুন যেখানে আপনি খাতা, কলম, মোবাইল, বই, টাকা রাখতে পারেন। মানে এক জায়গায় আপনি অনেক কিছু রেখে দিতে পারেন।
PHP তে আপনি array এর মাধ্যমে অনেক data এভাবে জমা করে রাখতে পারবেন। array এর ভিতরের data গুলোকে আমরা array এর element বলে থাকি। আর এই array এর element গুলোকে access করতে হলে element এর key অথবা index ব্যবহার করতে হবে।
PHP তে আপনি array ব্যবহার করতে হলে আপনাকে array() language construct এর সাহায্য নিতে হবে।
PHP তে array ৩ প্রকার।
১। Numeric array
২। Associative array
৩। Multidimensional array

১। Numeric array

Numeric array হলো সেই array যাদের numeric index আছে। যেমন-

$marks = array(78, 85, 90, 65);

এখানে আমরা একটি Numeric array নিয়েছি array() language construct এর মাধ্যমে এবং এই Numeric array এর ভিতরে ৪ টি element নিয়েছি এবং সবশেষে এই Numeric array কে একটা $marks variable এ রেখেছি। তারমানে আমরা বলতে পারি $marks variable টি array টাইপের ডাটা বহন করছে।
এখন কথা হচ্ছে এই array টাকে কেন আমরা Numeric array বলেছি। আচ্ছা, আমরা যদি এই $marks variable টাকে print_r() ফাংশনের মাধ্যমে দেখাই –

echo '<pre>';
	print_r($marks);
echo '</pre>';

তাহলে আমরা দেখতে পাবো-

Array
(
    [0] => 78
    [1] => 85
    [2] => 90
    [3] => 65
)

এখানে আমরা দেখতে পাচ্ছি যে প্রত্যেকটা element এর এক একটা নাম্বার দেখা যাচ্ছে। এই এক একটা নাম্বারই হলো ঐ element এর index। যেমন- 78 নাম্বারের হলো 0 আবার 90 নাম্বারের index হলো 2। যেহেতু এই index গুলো নাম্বার আকারে দেখাচ্ছে তাই আমরা এই array কে Numeric array বলে থাকি।
এখন কেন আমরা print_r() ফাংশনটা ব্যবহার করেছি? কারন হলো, আমরা এই array কে $marks নামে একটা variable এ রেখেছি। আমরা চাইলে তো এই $marks variable টাই echo করতে পারতাম, তাই না? কিন্ত না! আমরা যদি এই $marks variable টি echo করি –

echo $marks;

তাহলে আমরা একটা এরর দেখতে পাবো-

Notice: Array to string conversion in D:\xampp\htdocs\amarcourse\tutorial\php\index.php on line 8

এখানে বলা হচ্ছে যে আপনি কখনই Array কে directly echo করতে পারবেন না। তাহলে উপায়?
হ্যাঁ উপায় আছে। ঐ যে মানে index? এই index দিয়েই আপনাকে Array এর প্রতেকটি element access করতে হবে। যেমন- আমরা যদি 90 নাম্বারকে দেখাতে চাই তাহলে আমরা ব্যবহার করবো-

echo $marks[2];

এখানে যেহেতু আমরা আমাদের Array কে একটা $marks variable এ রেখেছি তাই প্রথমে সেই variable টা নিয়েছি তার থার্ড ব্রাকেট ( [] ) দিয়ে যে element টা access করতে চাই তার index দিয়ে দিয়েছি। ব্যাস! এখন আপনি দেখতে পাবেন-

90

এভাবে একটা একটা করে দেখতে না চাইলে আপনি foreach loop চালিয়ে একসাথে সব element গুলোকে দেখতে পারেন। যেমন-

foreach ($marks as $key => $value) {
	echo $value;
	echo '<br/>';
}

আউটপুট হিসেবে দেখতে পাবেন-

78
85
90
65

২। Associative array

Associative array অনেকটা numeric array এর মতো তবে পার্থক্য হলো Associative array এর index টা হয় string আকারে মানে কোন একটা লেখা। যেমন numeric array এর ক্ষেত্রে আমরা দিয়েছিলাম নাম্বার কিন্তু এখন এই Associative array এর ক্ষেত্রে আমরা দিবো string মানে কোন একটা লেখা। চলুন একটা Associative array তৈরী করি-

$marks = array(
	'borkot'	=>	78,
	'rahim'		=>	85,
	'jabbar'	=>	90,
	'shfiq'		=>	65,
);

এখানে আমরা আগের array এর মতো একটা array তৈরী করেছি কিন্তু এই array এর প্রতেকটি element এর index টা দিয়েছি string আকারে। যেমন- borkot, rahim, jabbar,
shfiq।
এখন ঠিক আগের মতই আমরা যদি 85 দেখাতে চাই তাহলে আমাদের লিখতে হবে-

echo $marks['rahim'];

এখানে 85 নাম্বারটা হলো array এর একটা element যার index হলো একটা string আর এই string এর value হলো rahim।
তাই আমরা বলতে পারি যদি কোন array এর key and value থাকে তাকেই associative array বলা হয়।

৩। Multidimensional array

Multidimensional array মানে হলো একটা array এর ভিতর আরো একটি array থাকবে আবার এই array ভিতর আরো array থাকবে। মানে array এর যে element গুলো থাকে সেই element গুলো একটা একটা array হতে পারে। আবার এই array এর element গুলো আবার array হতে পারে। Multidimensional array এর ক্ষেত্রে element গুলোর value access করতে হয় multiple index দিয়ে। যেমন-

$sitename = array(
	'name'			=>	'AmarCourse',
	'developer'		=>	'Shibbir Ahmed',
	'category'		=>	array(
		'front-end-development'	=> array(
			'HTML5', 'CSS3', 'Javascript'
		), 'back-end-development'	=>	array(
			'PHP', 'Python', 'SQL', 'Java'
		),
	),
	'address'		=>	array(
		'Dhanmondi 15 No', 'Banani'
	),
);

এখানে আমরা দেখতে পাচ্ছি যে, আমরা একটি array নিয়েছি যা ১টি $sitename নামে variable এর মধ্যে assign করেছি। এখন এই array এর ভিতর category নামে একটা element রয়েছে যার Value হলো একটা array আর এই array এর element গুলো হলো- front-end-development এবং back-end-development। এই ২ টি element এর Value আবার একটি array যার Value যথাক্রমে- ‘HTML5’, ‘CSS3’, ‘Javascript’ এবং ‘PHP’, ‘Python’, ‘SQL’, ‘Java’
এই ধরনের array কেই বলা হয় Multidimensional array। এখন আমরা যদি এই Multidimensional array কে print_r() ফাংশন দিয়ে output দিয়ে দেখি যে এই Multidimensional array টা দেখতে কি রকম হয়-

echo '<pre>';
	print_r($sitename);
echo '</pre>';

তাহলে আমরা দেখতে পাবো-

Array
(
    [name] => AmarCourse
    [developer] => Shibbir Ahmed
    [category] => Array
        (
            [front-end-development] => Array
                (
                    [0] => HTML5
                    [1] => CSS3
                    [2] => Javascript
                )
            [back-end-development] => Array
                (
                    [0] => PHP
                    [1] => Python
                    [2] => SQL
                    [3] => Java
                )
        )
    [address] => Array
        (
            [0] => Dhanmondi 15 No
            [1] => Banani
        )
)

আমরা যদি এখন শুধু PHP কে দেখাতে চাই তাহলে কি করব?
আচ্ছা, তাহলে খেয়াল করুন PHP টা কোন array এর ভিতর আছে? back-end-development array এর ভিতরে 0 নাম্বার index এ , তাই না? আবার এই array টা কোন array ভিতর রয়েছে? category array এর ভিতর, তাই না? আবার এই category array কোন array এর ভিতর রয়েছে? আমাদের প্রধান array এর ভিতর আর এই প্রধান array টা আমরা জমা রেখেছি $sitename নামে একটা variable এর ভিতর।
যদি তাই হয়, তাহলে আমাদের লিখতে হবে Multiple Index এর নাম। যেমন-

echo $sitename['category']['back-end-development'][0];

এখন আউটপুট হিসেবে আমরা দেখতে পাবো-

PHP

২। Object

PHP Object নিয়ে পূর্নাঙ্গ আলোচনা করা হয়েছে আলাদা একটি Article এ. Article টি দেখার জন্য এখানে click করুন।

৩। callable

PHP তে callback হলো এমন একটি function যা আপনি নিজেই তৈরী করে থাকেন। তারপর আপনার তৈরী করা function টি অন্য একটি function এর argument হিসেবে দিয়ে থাকেন। যখন অন্য একটি function আপনার function টি access করবে argument হিসেবে তখন আপনার function টি সাথেসাথে call হবে মানে আপনার function এ যা বলেছিলেন তাই ঘটবে। এর মাধ্যমে একটা সুবিধা হলো যে function আপনার function কে receive করছে সে function কে আপনি আপনার মত পরিবর্তন করতে পারবেন।
PHP তে অনেকগুলো built-in function রয়েছে যা callback function কে argument হিসেবে নিয়ে থাকে। যেমন- array_map(), usort() ইত্যাদি। আপনি চাইলে আপনার নিজের callback-accepting functions তৈরী করতে পারবেন। চলুন array_map() ফাংশনটি কিভাবে callback function কে argument হিসেবে নিয়ে থাকে তা দেখে আসি-
প্রথমে জেনে নেই array_map() ফাংশন কি কাজ করে।
এই array_map() ফাংশন কোন একটা array এর প্রতেকটি element কে আপনার তৈরী করা function এ পাঠায় এবং আপনার function যখন এই array এর element গুলো গ্রহন করে তখন আপনার function এ যা বলে দিয়েছিলেন তাই করবে এই element গুলোকে নিয়ে এবং সবশেষ array_map() function আউটপুট হিসেবে নতুন একটা array দেখাবে। এই নতুন একটা array এর value হবে আপনার function যে ভাবে আপনি চেয়েছিলেন element গুলোকে দেখাতে সেভাবে।
চলুন আমরা কোডের মাধ্যমে বুঝে আসি-

function myCallbackFunction($argument) {
	return strtoupper($argument);
}
$myArray = ['i', 'love', 'php'];
echo implode( array_map ('myCallbackFunction', $myArray), ' ');

এখানে আমরা myCallbackFunction নামে একটি function নিয়েছি যার কাজ হলো কোন argument কে বড় হাতের অক্ষরে দেখাবে।
তারপর আমরা $myArray নামে একটি array variable নিয়েছি। যার মধ্যে ৩ টি element রয়েছে- ‘i’, ‘love’, ‘php’
খেয়াল করুন এই element গুলো কিন্তু সব ছোট হাতের অক্ষরে লেখা।
এখন আমরা array_map() ফাইংশনকে call করেছি যা প্রথমে আমাদের তৈরী করা ফাংশন যার নাম হলো myCallbackFunction তাকে নিবে এবং দ্বিতীয় parameter হিসেবে আমাদের $myArray নামের array variable নিবে।
তাহলে ব্যাপারটা কি ঘটছে এখানে?
এখানে array_map() ফাংশনটা $myArray নামের array variable এর প্রতেকটি element কে আমাদের তৈরী করা function এ পাঠাচ্ছে এবং আমাদের তৈরী করা function এই element গুলোকে গ্রহন করে বড় হাতের অক্ষরে দেখাচ্ছে।
সবশেষ আমরা array_map() ফাংশনের আউটপুট যেহেতু একটা array ডাটা দেখাবে আর আমরা জানি কোন array ডাটাকে আমরা সরাসরি echo করতে পারি না তার জন্য এই array ডাটাকে implode() ফাংশন দিয়ে string এ রুপান্তর করে দেখাচ্ছি।
আমরা যদি উপরের কোডটা রান করি তাহলে আউটপুট দেখব-
I LOVE PHP

৪। iterable

Iterable একটি pseudo-type যা PHP 7.1 এ অর্ন্তভুক্ত হয়েছে। pseudo-type এর মাধ্যমে আপনি বলে দিতে পারবেন যে কোন function কি array or object টাইপের ডাটা receive করবে কি না যা পরবর্তীতে foreach loop দিয়ে iterable করা যাবে। যেমন- নিচের উদাহারনটি খেয়াল করুন-

function my_number(iterable $iterable) {
    foreach ($iterable as $value) {
       echo $value;
       echo '<br/>';
    }
}
my_number( [1,2,3,4]);

এখানে আমরা my_number নামে একটা function নিয়েছি এবং এই function এর একটা argument $iterable নিয়েছি। তবে এই argument $iterable আগে আমরা pseudo-type Iterable বলে দিয়েছি মানে যে argumen টা আমরা receive করবো তা অবশ্যই iterable (পুনরাবৃত্তি করা) হতে হবে। যার ফলে আমরা foreach loop এর মাধ্যমে প্রতেকটি element কে দেখাতে পারবো। সবশেষে আমরা যখন function টা call করেছি তখন একটা array ডাটা [1,2,3,4] পাঠিয়েছি।
এখন আউটপুট হিসেবে আমরা দেখতে পাবো-

1
2
3
4

তবে আপনি যখন function টি call করেছেন তখন যদি কোন iterable ডাটা না পাঠাতেন মানে যদি এমন করে function টি call করতেন-

my_number( '1 2 3 4 ');

এখানে একটা string ডাটা পাঠিয়েছেন তাহলে এই এরর টি দেখতে পাবেন-

Fatal error: Uncaught TypeError: Argument 1 passed to my_number() must be iterable, string given, called in....

মানে বলছে যে আপনাকে অবশ্যই এমন ডাটা পাঠাতে হবে যা কিনা iterable .

২ টি special data types:

১। resource

অন্যান্য ডাটা টাইপের চেয়ে এই resource ডাটা টাইপটা একটু ভিন্ন। এটা মূলত তো কোন resource access করার পর আমাদের একটি reference বা identifier দিয়ে থাকে। যেমন- আমরা যখন ডাটাবেজের সাথে কানেকশন করব বা কোন file কে access করার চেষ্টা করব তখন আমরা একটা reference বা identifier পেয়ে থাকি। এই reference বা identifier দিয়েই বাকি কাজ গুলো করতে হয় মানে আপনাকে পরবর্তীতে data access করার জন্য এই reference বা identifier ব্যবহার করতে হবে। চলুন একটা উদাহরন দেখে আসি।
আমরা যদি MySQL Database এর সাথে কানেকশন করতে চাই তাহলে আমরা সাধারনত লিখে থাকি এই কোডটি –

$conn = mysqli_connect('localhost','root','','my_database');

এখানে mysqli_connect() ফাংশনের মাধ্যমে ডাটাবেজের সাথে কানেকশন করা হচ্ছে এবং এই কানেকশনটা যদি সফলভাবে হয় তাহলে আমাদেরকে একটা reference বা identifier প্রধান করবে যা মূলত MySQL connection এর একটা object এবং এই reference বা identifier কে আমরা $conn নামে একটা variable এ জমা রেখেছি।
আপনি যদি এই $conn variable টি gettype() ফাংশনের মাধ্যমে ব্যবহার করেন

echo gettype($conn);

তাহলে দেখতে পারবেন-

object

এই $conn variable টি আসলেই একটা object return করেছে মানে আমাদের MySQL connection এর একটা object reference বা identifier;

২। NULL

NULL বলতে বুঝানো হচ্ছে যে কোন একটা variable এর কোন value নেই বা assign করা হয়নি। যেমন- এই কোডটি খেয়াল করুন-

$myVar;
echo gettype($myVar);

এখানে আমরা $myVar; নামে একটা variable declare করেছি কিন্তু কোন value দেই নি বা assign করিনি। এবং তারপর এই variable আমরা gettype() ফাংশনের মাধ্যমে echo করার চেষ্টা করেছি।
gettype() ফাংশনের কাজ হলো কোন একটা variable কোন ধরনের ডাটা টাইপ বহন করছে তা জানার জন্য।
এখন আমরা আউটপুট দেখতে পাবো-

Notice: Undefined variable: myVar in ..........
NULL

এখানে দেখতে পাচ্ছেন যে PHP আমাদেরকে ১টা এরর দেখাচ্ছে, বলছে যে myVar একটা Undefined variable মানে আপনি এই variable এর কোন value দেন নি।
পরের লাইনে আপনি দেখতে পাচ্ছেন যে আমাদেরকে এই variable এর ডাটা টাইপ দেখাচ্ছে এই gettype() ফাংশন আর তা হলো –

NULL

মানের কোন variable এর যদি কোন value না দিয়ে থাকেন তাহলে PHP আমাদেরকে NULL ডাটা টাইপ দেখাবে।
শুধু variable এর value না দিলেই যে NULL দেখাবে তা না কিন্তু। আপনি যদি এই variable এর value হিসেবে NULL দিয়ে আসেন অথবা এই variable এর value দেওয়ার পর unset করে ফেলেছেন তখনও আপনাকে NULL ডাটা টাইপটি দেখাবে।

3 Comments

Leave a Comment