PHP Type কাস্টিং

 php তে টাইপ পরিবর্তন করা যায়। এক data type  থেকে আরেক ডেটা টাইপে বদলে দেয়ার নাম type কাস্টিং। যে data টাইপে পরিবর্তন করতে চান সেটার সংকেতটি প্রথম বন্ধনির ভিতর দিয়ে এরপর ডেটা টুকু দিতে হয়। symbol সমূহ

(int) পূর্নসংখ্যা করতে চাইলে

(bool) বুলিয়ান করতে চাইলে

(float) দশমিক/double/real সংখ্যা করতে চাইলে

(string) অক্ষরসারি করতে চাইলে

(array) অ্যারে বানাতে চাইলে

(object) অবজেক্ট রুপান্তর

(unset) এটা দিলে null হয়ে যাবে।

উদাহরন: যেমন $x = 9; আছে অর্থ্যাৎ এখন পূর্নসংখ্যা (integer) আছে আর আমি চাচ্ছি এটাকে স্ট্রিং বানাবো তখন এর টাইপ কাস্টিং করব এভাবে 

<?php

$x = 9;

$x = (string) 9;

var_dump($x);

?>

Output

string(1) "9"

যে লাইনে (string) এটা দিয়ে টাইপ কাস্টিং করলাম সেই লাইনটি বাদ দিয়ে var_dump() করুন Output int(9) এটা দেখাবে।

তদ্রুপ

<?php

$x = '45';//now $x is string

$x = (int) $x;// type casting to integer

var_dump($x)//now output int(45)

$y = (array) $x;// now casting to array

?>

 

কেন type কাস্টিং জরুরিphp দিয়ে database বা যেকোন ডেটা প্রসেসের সময় ডেটার টাইপ পরিবর্তন করার প্রয়োজন হতে পারে। উদাহরনস্বরুপ আপনার একটি ফর্মে হিডেন মান আছে, মানটি ধরুন একটা আইডি যেটা integer হিসেবে আপনার লাগবে ডেটাবেসে কোয়েরি করার সময়। এখন ফর্ম সাবমিট করলে মানটি যখন $_REQUEST['hidden_id'] এভাবে বা যেকোনভাবে পিএইচপি পেজে রিসিভ করবেন তখন এটা সাধারনত string হিসেবে আসে, কিন্তু এই স্ট্রিং দিয়ে কোয়েরি করলে ঝামেলা হবে কারন ডেটাবেসে id ফিল্ড রেখেছেন integer হিসাবে। এসব ঝামেলা এড়াতে আপনি যদি php তে মানটি ধরার সময় নিচের মত করে ধরেন তাহলে আপনি নিরাপদ হয়ে গেলেন।

<?php

$x = (int)$_REQUEST['hidden_id'];//cast to integer

?>

 

সুতরাং $x এর মান যদি কোনভাবে '9' এরুপ স্ট্রিং আসে তাহলে এটাকে কাস্টিং করে 9 তথা integer বানিয়ে নিবে।