আপনি যদি কোনও ভেরিয়েবল আনসেট করতে চান তবে আপনি কেবল ব্যবহার করতে পারেন unset
unset($any_variable);
কোনও ভেরিয়েবল আনসেট করার চেষ্টা করার সময় এর অস্তিত্বের জন্য অনুসন্ধানের কোনও লাভ হয় না।
যদি ভেরিয়েবলটি একটি অ্যারে হয় এবং আপনি কোনও উপাদানটি আনসেট করতে চান তবে আপনাকে অবশ্যই পিতামাতার উপস্থিত রয়েছে তা নিশ্চিত করতে হবে , এটি বস্তুর বৈশিষ্ট্যের ক্ষেত্রেও যায়।
unset($undefined_array['undefined_element_key']);
unset($undefined_object->undefined_prop_name);
এটি সহজেই unsetকোনও if(isset($var)){ ... }ব্লকে মোড়ানো দ্বারা সমাধান করা হয় ।
if(isset($undefined_array)){
unset($undefined_array['undefined_element_key']);
}
if(isset($undefined_object)){
unset($undefined_object->undefined_prop_name);
}
আমরা কেবল পরিবর্তনশীল ( পিতামাতার ) যাচাই করার কারণটি কেবল কারণ আমাদের সম্পত্তি / উপাদান পরীক্ষা করার দরকার নেই এবং এটি করার ফলে এটি আরও চেক যুক্ত হওয়ার সাথে সাথে লিখতে ও গণনা করা অনেক ধীর হবে।
if(isset($array)){
...
}
if(isset($object)){
...
}
.vs
$object->prop_name = null;
$array['element_key'] = null;
if(isset($array) && array_key_exists('element_key', $array)){
...
}
if(isset($object) && property_exists($object, 'prop_name')){
...
}
if(isset($array) && $array['element_key'])){
...
}
if(isset($object) && $object->prop_name)){
...
}
এটি বলার অপেক্ষা রাখে না তবে typeকোনও উপাদান বা সম্পত্তি প্রাপ্ত, স্থাপন এবং আনসেট করার সময় আপনি পরিবর্তনশীলটির বিষয়টিও জেনে রাখা গুরুত্বপূর্ণ ; ভুল বাক্য গঠন ব্যবহার করে ত্রুটি ছুঁড়ে ফেলা হবে।
বহুমাত্রিক অ্যারে বা অবজেক্টের মান আনসেট করার চেষ্টা করার সময় এটি একই। আপনাকে অবশ্যই নিশ্চিত করতে হবে যে প্যারেন্ট কী / নামটি বিদ্যমান।
if(isset($variable['undefined_key'])){
unset($variable['undefined_key']['another_undefined_key']);
}
if(isset($variable->undefined_prop)){
unset($variable->undefined_prop->another_undefined_prop);
}
অবজেক্টগুলির সাথে ডিল করার সময় আরও একটি বিষয় চিন্তা করা উচিত এবং এটি দৃশ্যমানতা স্থির করে।
এটি উপস্থিত থাকার অর্থ এই নয় যে আপনার এটিকে সংশোধন করার অনুমতি আছে।