পিএইচপি-তে নুল এবং শূন্যের মধ্যে পার্থক্য


85

পিএইচপি NULLএবং এর nullমধ্যে পার্থক্য আছে ? কখনও কখনও এগুলি বিনিময়যোগ্য বলে মনে হয় এবং কখনও কখনও তা হয় না।

সম্পাদনা করুন: কোনও কারণে যখন আমি উত্তরের সাথে যুক্ত ডকুমেন্টেশনগুলি পড়ি (এই প্রশ্ন পোস্ট করার আগে) আমি "কেস সেনসেটিভ" না করে "কেস সেনসিটিভ" হিসাবে পড়ি যা পুরো কারণেই আমি এই প্রশ্নটি প্রথম স্থানে পোস্ট করেছিলাম .. ।


4
NULL=nullএবং তদ্বিপরীত যদি না ডিবিতে একটি সঠিক ম্যাচ জিজ্ঞাসা করা হয়।
ফানকি চল্লিশ নিনার

@ ফঙ্কফোর্টিনিয়ার এই প্রশ্নের সাথে জড়িত কোনও ডিবি নেই। প্রশ্ন প্রোগ্রামিং ভাষা সম্পর্কে।
পাবলো পাজোস

@ পাবলোপাওস আপনি years বছর কেটে যাওয়ার পরে আমাকে কেন পিপ্স করছেন? এছাড়াও, আপনি যদি আমার মন্তব্যটি আবার পড়েন তবে আপনি সম্ভাব্য প্রাসঙ্গিকতা দেখতে পাবেন। "ব্যতীত" কীওয়ার্ডটি দেখুন যা একটি সম্ভাব্য সত্য হবে।
ফান্ক ফালিটি নাইনার

4
@ পাবলোপাওস আপনার মত মন্তব্য করা এমনকি কিছুটা হাস্যকর, তিনি যা বলেছিলেন তা সম্পূর্ণ প্রাসঙ্গিক এবং সহায়ক। ডিবি ত্রুটি থাকা অবস্থায় অন্য কেউ যদি এদিকে তাকান এবং দ্রুত সমাধানটি ট্র্যাক করতে সহায়তা করে তবে যারা এর সাথে প্রাসঙ্গিক নয় তারা কেবল এগিয়ে যান এবং অন্য উত্তরটি সন্ধান করবেন।
কেনজিয়ে ফ্ল্যাভিয়াস

4
@ ফঙ্কফোর্টিনিয়ার আপনার মন্তব্যের জন্য ধন্যবাদ, আমার কাছে এটি শুনতে খুব দরকার ছিল। আমি isset () ব্যবহার করে সাধারণত একটি ডাটাবেস মান NULL ফিল্টার করার চেষ্টা করছিলাম যা সাধারণত নিয়মিত নালাগুলির জন্য মিথ্যা ফিরিয়ে দেয় তবে ডাটাবেস মান সহ আমাকে $ মান === নুল ব্যবহার করতে হয়েছিল। এটি কীভাবে সম্ভব তা আমি যথেষ্ট বুঝতে পারি না, তবে আমি এই পৃষ্ঠাটিতে এই সমস্যাটি নিয়ে এসেছি।
জেফ

উত্তর:


124

নাল ক্ষেত্রে সংবেদনশীল।

ডকুমেন্টেশন থেকে :

নাল টাইপের একটি মাত্র মান রয়েছে এবং তা হ'ল কেস-সংবেদনশীল কীওয়ার্ড NULL।


6
ডিবিতে সঠিক মিল না থাকলে প্রশ্ন করা হয় না।
ফানকি চল্লিশ নিনার

nullডাটাবেস ক্যোয়ারী থেকে মান তুলনা করতে আমার সমস্যা হচ্ছে । তুমি কি সাহায্য করতে পারো?
রাজনীন আবিদ

9

এখানে কোন পার্থক্য নেই. একই ধরণের এটি একটি ক্ষেত্রে সংবেদনশীল কীওয়ার্ড। যেমন True/ Falseইত্যাদি ...


-2

তবে এখানে একটি প্রযুক্তিগত পার্থক্য রয়েছে, আপনি যা ভাবছেন ঠিক তা নয় (ভাবুন: এটি অভিধানে কোথায় উপস্থিত হয়েছে): ছোট হাতের নুলের জন্য ASCII মান উপরের কেসের পরে উপস্থিত হয়। চেষ্টা করুন:

$a = NULL;
$b = null;
if($a < $b){
   print 'first num appears earlier in the dictionary than second num';
}
else {
   print'the right num appears in the dictionary before the left num ';
}

** আসলে লোয়ার কেস নুলের জন্য কোন এএসসিআইআই মান থাকে না যখন আপার কেস নুল হয় 0 ছোট হাতের নাল একটি স্ট্রিং ভ্যালু হিসাবে মূল্যায়ণ করা হবে যা 0 এর চেয়ে বেশি হবে এগুলি বাদে এখানে সমস্ত আপার এবং লোয়ার কেস ASCII মানগুলির মধ্যে পার্থক্য 32 হয় যেখানে একটি সম্পূর্ণ স্ট্রিংয়ের মান বিবেচনা করা হয়।


ত্রুটি, এটি কীভাবে বুলেটিকস পতাকা হিসাবে ব্যবহারের সাথে সম্পর্কিত? এএসসিআইআই কখনও জিজ্ঞাসা করা হয় না?
মার্টিন

4
এটা ভুল. আপনার বলা উচিত elseif($b < $a) {... } else print 'the same';এবং তারপরে আপনি দেখতে পাবেন যে বাস্তবে তারা একই। যেমন NULL এবং NuLl।
ম্যাট
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.