টাইপ-জাগলিং এবং (কঠোর) পিএইচপি-তে তুলনা তুলনায় বৃহত্তর / কম


115

পিএইচপি তার টাইপ-জাগলিংয়ের জন্য বিখ্যাত। আমাকে অবশ্যই এটি ধাঁধা দিতে হবে এবং তুলনাগুলিতে মৌলিক লজিক্যাল / মৌলিক বিষয়গুলি খুঁজে পেতে আমার বেশ কঠিন সময় চলছে।

উদাহরণস্বরূপ: যদি $a > $bসত্য এবং $b > $cসত্য হয় তবে এর অর্থ $a > $cকি সর্বদা সত্য?

মৌলিক যুক্তি অনুসরণ করে, আমি হ্যাঁ বলব তবে আমি আশ্চর্যের মধ্যে পড়েছি যে আমি সত্যিই এতে পিএইচপিকে বিশ্বাস করি না। সম্ভবত কেউ উদাহরণ দিতে পারে যেখানে এটি নয়?

এছাড়াও আমি অপারেটরগুলির চেয়ে কঠোরতর চেয়ে কম এবং কঠোরতর বৃহত্তর সাথে ভাবছি (তাদের অর্থটি যেমন কঠোরভাবে বর্ণনা করা হয়েছিল যা আমি পূর্ববর্তী সময়ে কেবল সাম্যতার তুলনা থেকে জানতাম) যদি বাম এবং ডান অপারেশনগুলি অদলবদল করা হয় তবে তাতে কোনও পার্থক্য রয়েছে কিনা কঠোরভাবে অসম মান:

# Precondition:
if ($a === $b) {
    throw new Exception(
       'Both are strictly equal - can not compare strictly for greater or smaller'
    );
}

($a > $b) !== ($b > $a)

বেশিরভাগ ধরণের তুলনা সংমিশ্রণের জন্য এই বৃহত্তর / কম তুলনা অপারেটরগুলি নথিভুক্ত নয়, সুতরাং ম্যানুয়ালটি পড়া এই ক্ষেত্রে সত্যিই সহায়ক ছিল না।


আমার ধারণা আপনি সেই লাইনটি ঠিক করতে চান ($a > $b) !== ($b < $a)?
ওয়াল্টার ট্রস

আহ, ঠিক আছে, তাই আমি এটা ভুল বুঝেছি। সেই অনুযায়ী আমার উত্তর ঠিক করতে হবে। মজার সব সেইসব মানুষ উত্তর পরিবর্তে গ্রন্থ লেখা এবং আপনার প্রশ্নের সাবধানে ... পড়া না
ওয়াল্টার Tross

উত্তর:


208

পিএইচপি এর তুলনা অপারেটরগুলি কম্পিউটার-বৈজ্ঞানিক সংজ্ঞা থেকে বিভিন্ন উপায়ে বিচ্যুত:

একটি সমতা সম্পর্ক গঠনের ==জন্য প্রতিচ্ছবি, প্রতিসাম্য এবং ট্রানজিটিভ হতে হবে:

  • পিএইচপি-র ==অপারেটর প্রতিচ্ছবি নয় , অর্থাত্ $a == $aসর্বদা সত্য নয়:

    var_dump(NAN == NAN); // bool(false)

    দ্রষ্টব্য: যে কোনও তুলনা NANসর্বদা জড়িত তা falseপিএইচপি সম্পর্কিত নির্দিষ্ট নয়। এটি আইইইই 754 স্ট্যান্ডার্ড ফর ফ্লোটিং-পয়েন্ট অ্যারিমেটিক ( আরও তথ্য ) দ্বারা বাধ্যতামূলক ।

  • পিএইচপি-র ==অপারেটর প্রতিসম হয় , $a == $bএবং $b == $aসর্বদা একই থাকে।

  • পিএইচপি-র ==অপারেটর ট্রানজিটিভ নয় , অর্থাত্‍ থেকে $a == $bএবং নিম্নলিখিতগুলি অনুসরণ $b == $cকরে না$a == $c :

    var_dump(true == "a"); // bool(true)
    var_dump("a" == 0);    // bool(true)
    var_dump(true == 0);   // bool(false)

আংশিক অর্ডার গঠনের জন্য<= / >=প্রতিচ্ছবি, অ্যান্টি-প্রতিসাম্য এবং ট্রানজিটিভ হতে হবে:

  • পিএইচপি-র <=অপারেটর প্রতিচ্ছবি নয় , অর্থ $a <= $aসর্বদা সত্য হয় না (উদাহরণ হিসাবে একই ==)।

  • পিএইচপি-র <=অপারেটর অ্যান্টি-প্রতিসাম্য নয় , অর্থাত্‍ থেকে $a <= $bএবং $b <= $aঅনুসরণ করে না $a == $b:

    var_dump(NAN <= "foo"); // bool(true)
    var_dump("foo" <= NAN); // bool(true)
    var_dump(NAN == "foo"); // bool(false)
  • পিএইচপি-র <=অপারেটর ট্রানজিটিভ নয় , অর্থাত্ এগুলি অনুসরণ করে $a <= $bএবং $b <= $cঅনুসরণ করে না $a <= $c(উদাহরণস্বরূপ যেমন ==)।

  • অতিরিক্ত: পিএইচপি-র <=অপারেটর মোট নয় , অর্থাত্ উভয়ই $a <= $bএবং $b <= $aমিথ্যাও হতে পারে:

    var_dump(new stdClass <= new DateTime); // bool(false)
    var_dump(new DateTime <= new stdClass); // bool(false)

একটি কঠোর আংশিক অর্ডার গঠনের জন্য< / >অপ্রয়োজনীয়, অসমীয় এবং ট্রানজিটিভ হতে হবে:

  • পিএইচপি এর <অপারেটর irreflexive , অর্থাত্ $a < $aসত্য হয় না। নোট করুন যে এটি শুধুমাত্র পিএইচপি 5.4 হিসাবে সত্য । পূর্বে INF < INFমূল্যায়ন true

  • পিএইচপি-র <অপারেটর অসমমিত নয় , অর্থাত্ $a < $bঅনুসরণ করে না !($b < $a)(উদাহরণস্বরূপ <=অ্যান্টি-সিমমেট্রিক না হওয়ার জন্য )।

  • পিএইচপি এর <অপারেটর হয় সকর্মক না থেকে, অর্থাত্ $a < $bএবং $b < $cঅনুসরণ করে না $a < $c:

    var_dump(-INF < 0);    // bool(true)
    var_dump(0 < TRUE);    // bool(true)
    var_dump(-INF < TRUE); // bool(false)
  • অতিরিক্ত: পিএইচপি-র <অপারেটর ট্রাইকোটমাস নয় , অর্থাত্ সমস্ত $a < $b, $b < $aএবং $a == $bএটি মিথ্যা হতে পারে (উদাহরণ <=মোটের জন্য নয়)।

  • অতিরিক্ত: পিএইচপি এর <অপারেটর হতে পারে বৃত্তাকার , IE এটিও সম্ভব হতে পারে $a < $b, $b < $cএবং $c < $a:

    var_dump(INF < []);           // bool(true)
    var_dump([] < new stdClass);  // bool(true)
    var_dump(new stdClass < INF); // bool(true)

    দ্রষ্টব্য: উপরের উদাহরণটি "শ্রেণীর অবজেক্ট stdClass নোটিশে নিক্ষেপ করা যায় নি" th

পিএইচপি স্যাডনেস 52 - তুলনা অপারেটরগুলিতে আপনি পিএইচপি এর তুলনা অপারেটরগুলির জন্য কয়েকটি দুর্দান্ত গ্রাফ পেতে পারেন ।

শেষ নোট হিসেবে আমি নির্দেশ দুই equalities, আছে পিএইচপি চাই না গ্যারান্টি (অন্যথায় প্রায় কাছাকাছি সবকিছু অসদৃশ)। এই দুটি সর্বদা ধরে রাখে, কেবল কারণ সংকলকটি একে অপরের সাথে হ্রাস করে:

($a > $b) == ($b < $a)
($a >= $b) == ($b <= $a)

2
বাহ, সুন্দর প্রতিশোধ সুতরাং এটি মত পিএইচপি সঙ্গে লজিক্যাল এক্সপ্রেশন প্রণয়ন করা সম্ভব নয় ($a > $b) and ($b > $c)সঙ্গে $a > $cযদিও ডকুমেন্টেশন ঐ বলছেন </ >অপারেটরদের বলে তারা কঠোর ?
hakre

26
আইএমএইচও অপারেটরগণ গণিতের নিয়মাবলী অনুসরণ করেন তবে কেবল যখন একই ডেটা ধরণের কাজ করে। টাইপ কাস্টিং যা এখানে সত্যই বিভ্রান্তি তৈরি করে (এবং অন্যান্য অনেক পরিস্থিতিতে)। অপারেটরগুলির আগে সংখ্যা এবং স্ট্রিং এবং বিশেষ মান ধরণের রূপান্তরগুলির তুলনা করা হয়, তাই কঠোরভাবে বলতে গেলে তুলনা অপারেটর
গুলিয়ে ফেলা

6
@ ivanhoe011 সত্যটি হ'ল: উভয়ই :) পিএইচপি'র তুলনা বিধি এবং পিএইচপি-র কাস্টিং বিধিগুলি পৃথক , আপনি কেবল এটি বলতে পারবেন না $a == $bযা একই রকম (type) $a === (type) $b। এর একটি সহজ উদাহরণ হ'ল "15" == "0xf", কিন্তু (int) "15" !== (int) "0xf"। এবং পিএইচপি-তে তুলনা এবং
ingালাই

3
@ নিকিসি: অবশ্যই (int)"0xf"পূর্ণসংখ্যার সাথে মূল্যায়ন করে । এই উদাহরণের তুলনাটি প্রত্যাশার মতো ঠিক আচরণ করে। এটি এখানে confালাই যা বিভ্রান্তিকর। আমি স্বীকার করব, একটি আসল তুলনা সমস্যা ছিল, তবে এটি একটি বিশেষ ঘটনা ছিল এবং আপনি যেটা উল্লেখ করেছেন ঠিক তা সমাধান হয়ে গেছে। দুর্দান্ত উত্তর .. +100 !== 15(INF < INF) === true
FtDRbwLXw6

1
আমি পিএইচপি-র ডিজাইনারদের কিছু সিদ্ধান্তের জন্য দোষারোপ করি না যেগুলি সেই সময়ে ধরণের জবরদস্তি সম্পর্কে ধারণা তৈরি করেছিল ... তবে আমার মনে হয় যে এই নকশাগুলির পছন্দগুলির ফলাফলগুলি অবশ্যই লক্ষ্য করা উচিত এবং তত্ক্ষণাত পছন্দগুলি উপলব্ধি করা ভুল ছিল। সর্বাধিক সুস্পষ্ট উদাহরণ হ'ল @ রাভসের মন্তব্য।
চাদ

88

আছে কোন কঠোর অভিন্ন তুলনা অপারেটরদের ( >==বা <==) পিএইচপি (পিএইচপি 5.6.14 অন্তত দ্বারা) , কিন্তু কয়েক উপায় আছে একটি কঠোর প্রকার চেক জোরদার বৃহত্তর / নিম্নতর পরীক্ষণ আগে:

  1. দুটি পরিবর্তনশীল প্রকারের সাথে পরীক্ষা করুন if (gettype($a) === gettype($b))
  2. আপনার প্রয়োজনীয় টাইপ-কাস্ট বাধ্যতামূলক করুন। if ((string)$a === (string)$b)
  3. আপনার প্রয়োজনীয় টাইপ-জগলকে জোর করুন যেমন। if (($a . '') === ($b . ''))

লক্ষ্য করুন যে:

  • ভাসমান পয়েন্ট যথার্থতা সীমিত
  • INFএবং অধীনে NANটাইপ floatহয়
  • কিছু অসীম কিছু অন্যান্য সমান অসীম (যেহেতু পিএইচপি 5.4)
  • বৈজ্ঞানিক স্বরলিপি eসর্বদা টাইপ থাকে float, এবং integerসংখ্যাটি কম হলেও কখনও হয় না
  • পূর্ণসংখ্যাগুলি PHP_INT_MAXস্বয়ংক্রিয়ভাবে রূপান্তরিত হয়float
  • সিস্টেমের সীমানা পেরিয়ে ভাসমান INFমান পেয়ে যায়
  • অপরিবর্তিত ভেরিয়েবলগুলি টাইপ এবং মানের হয় NULL
  • পূর্বে পূর্ণসংখ্যাগুলি অষ্টাল 0থেকে দশমিক (কনভেনশন অনুসারে) রূপান্তরিত হয়
  • একটি পূর্ণসংখ্যা ধারণকারী স্ট্রিংস রূপান্তর একটি নেতৃস্থানীয় সঙ্গে 0 থেকে পূর্ণসংখ্যা নেতৃস্থানীয় রেখাচিত্রমালা0

কিছু বিদেশী তুলনার তালিকা:

খুব অদ্ভুত:
     V একটি ভিএস $ বি $ এ> $ বি $ এ <$ বি $ আ <= $ বি $ এ> = $ বি $ এ == $ বি $ এ === $ বি
  float (NAN) float (-INF) মিথ্যা মিথ্যা মিথ্যা মিথ্যা মিথ্যা মিথ্যা
  ভাসা (ন্যান) ভাসা (0) মিথ্যা মিথ্যা মিথ্যা মিথ্যা মিথ্যা মিথ্যা
  ভাসা (ন্যান) ভাসা (1) মিথ্যা মিথ্যা মিথ্যা মিথ্যা মিথ্যা মিথ্যা
  float (NAN) float (INF) মিথ্যা মিথ্যা মিথ্যা মিথ্যা মিথ্যা মিথ্যা
  float (NAN) float (NAN) false false false false false false false
  ভাসা (NAN) int (-1) মিথ্যা মিথ্যা মিথ্যা মিথ্যা মিথ্যা মিথ্যা
  float (NAN) int (0) মিথ্যা মিথ্যা মিথ্যা মিথ্যা মিথ্যা মিথ্যা
  ভাসা (ন্যান) ইন্ট (1) মিথ্যা মিথ্যা মিথ্যা মিথ্যা মিথ্যা মিথ্যা

সমান তবে অভিন্ন নয়:

     V একটি ভিএস $ বি $ এ> $ বি $ এ <$ বি $ আ <= $ বি $ এ> = $ বি $ এ == $ বি $ এ === $ বি
  নাল (নাল) অ্যারে () মিথ্যা মিথ্যা সত্য সত্য সত্য মিথ্যা
  নুল (নাল) বুল (মিথ্যা) মিথ্যা মিথ্যা সত্য সত্য সত্য মিথ্যা
  নুল (নুল) ভাসা (0) মিথ্যা মিথ্যা সত্য সত্য সত্য মিথ্যা
  NULL (NULL) int (0) মিথ্যা মিথ্যা সত্য সত্য মিথ্যা
  NULL (NULL) str ('') মিথ্যা মিথ্যা সত্য সত্য মিথ্যা
   অ্যারে () বুল (মিথ্যা) মিথ্যা মিথ্যা সত্য সত্য মিথ্যা
 বুল (মিথ্যা) ভাসা (0) মিথ্যা মিথ্যা সত্য সত্য সত্য মিথ্যা
 বুল (মিথ্যা) ইন্ট (0) মিথ্যা মিথ্যা সত্য সত্য সত্য মিথ্যা
   str ('') বুল (মিথ্যা) মিথ্যা মিথ্যা সত্য সত্য সত্য মিথ্যা
 বুল (মিথ্যা) টিআর ('0') মিথ্যা মিথ্যা সত্য সত্য সত্য মিথ্যা
 ভাসা (-আইএনএফ) বুল (সত্য) মিথ্যা মিথ্যা সত্য সত্য সত্য মিথ্যা
  বুল (সত্য) ভাসা (1) মিথ্যা মিথ্যা সত্য সত্য সত্য মিথ্যা
  float (INF) bool (সত্য) মিথ্যা মিথ্যা সত্য সত্য সত্য মিথ্যা
  float (NAN) bool (সত্য) মিথ্যা মিথ্যা সত্য সত্য সত্য মিথ্যা
  bool (true) int (-1) মিথ্যা মিথ্যা সত্য সত্য সত্য মিথ্যা
  bool (true) int (1) মিথ্যা মিথ্যা সত্য সত্য সত্য মিথ্যা
  বুল (সত্য) টিআর ("\ 0") মিথ্যা মিথ্যা সত্য সত্য সত্য মিথ্যা
  bool (true) str ('+') মিথ্যা মিথ্যা সত্য সত্য সত্য মিথ্যা
  bool (true) str ('-') মিথ্যা মিথ্যা সত্য সত্য সত্য মিথ্যা
  bool (true) str ('01 ') মিথ্যা মিথ্যা সত্য সত্য সত্য মিথ্যা
  bool (true) str ('1') মিথ্যা মিথ্যা সত্য সত্য সত্য মিথ্যা
  bool (true) str ('মিথ্যা') মিথ্যা মিথ্যা সত্য সত্য সত্য মিথ্যা
 str ('পাঠ্য') bool (সত্য) মিথ্যা মিথ্যা সত্য সত্য সত্য মিথ্যা
 str ('সত্য') বুল (সত্য) মিথ্যা মিথ্যা সত্য সত্য সত্য মিথ্যা
    int (0) ভাসা (0) মিথ্যা মিথ্যা সত্য সত্য মিথ্যা
  str ("\ 0") ভাসা (0) মিথ্যা মিথ্যা সত্য সত্য মিথ্যা
   str ('') ভাসা (0) মিথ্যা মিথ্যা সত্য সত্য মিথ্যা
   str ('+') ভাসা (0) মিথ্যা মিথ্যা সত্য সত্য মিথ্যা
   str ('-') ভাসা (0) মিথ্যা মিথ্যা সত্য সত্য সত্য
   str ('0') ভাসা (0) মিথ্যা মিথ্যা সত্য সত্য মিথ্যা
 str ('মিথ্যা') ভাসা (0) মিথ্যা মিথ্যা সত্য সত্য মিথ্যা
 str ('পাঠ্য') ভাসা (0) মিথ্যা মিথ্যা সত্য সত্য মিথ্যা
 str ('সত্য') ভাসা (0) মিথ্যা মিথ্যা সত্য সত্য সত্য মিথ্যা
    int (1) ভাসা (1) মিথ্যা মিথ্যা সত্য সত্য সত্য
   ভাসা (1) টিআর ('01 ') মিথ্যা মিথ্যা সত্য সত্য মিথ্যা
   ভাসা (1) টিআর ('1') মিথ্যা মিথ্যা সত্য সত্য সত্য
  str ("\ 0") int (0) মিথ্যা মিথ্যা সত্য সত্য মিথ্যা
   str ('') int (0) মিথ্যা মিথ্যা সত্য সত্য মিথ্যা
   str ('+') int (0) মিথ্যা মিথ্যা সত্য সত্য মিথ্যা
   str ('-') int (0) মিথ্যা মিথ্যা সত্য সত্য মিথ্যা
    int (0) str ('0') মিথ্যা মিথ্যা সত্য সত্য মিথ্যা
 str ('false') int (0) মিথ্যা মিথ্যা সত্য সত্য মিথ্যা
 str ('text') int (0) মিথ্যা মিথ্যা সত্য সত্য মিথ্যা
 str ('true') int (0) মিথ্যা মিথ্যা সত্য সত্য মিথ্যা
    int (1) str ('01 ') মিথ্যা মিথ্যা সত্য সত্য মিথ্যা
    int (1) str ('1') মিথ্যা মিথ্যা সত্য সত্য মিথ্যা
   str ('1') str ('01 ') মিথ্যা মিথ্যা সত্য সত্য মিথ্যা

নিম্ন এবং বৃহত্তর একই সময়ে?

     V একটি ভিএস $ বি $ এ> $ বি $ এ <$ বি $ আ <= $ বি $ এ> = $ বি $ এ == $ বি $ এ === $ বি
  ভাসা (NAN) str ("\ 0") সত্য সত্য সত্য সত্য মিথ্যা মিথ্যা
  ভাসা (NAN) str ('') সত্য সত্য সত্য সত্য মিথ্যা
  ভাসা (NAN) str ('+') সত্য সত্য সত্য সত্য মিথ্যা
  ভাসা (NAN) str ('-') সত্য সত্য সত্য সত্য মিথ্যা
  ভাসা (NAN) str ('0') সত্য সত্য সত্য সত্য মিথ্যা
  ভাসা (NAN) str ('01 ') সত্য সত্য সত্য সত্য মিথ্যা মিথ্যা
  ভাসা (NAN) str ('1') সত্য সত্য সত্য সত্য মিথ্যা
  float (NAN) str ('false') সত্য সত্য সত্য সত্য মিথ্যা
  ভাসা (ন্যান) টিআর ('পাঠ্য') সত্য সত্য সত্য সত্য মিথ্যা মিথ্যা
  float (NAN) str ('সত্য') সত্য সত্য সত্য সত্য মিথ্যা

সমান এবং অভিন্ন:

     V একটি ভিএস $ বি $ এ> $ বি $ এ <$ বি $ আ <= $ বি $ এ> = $ বি $ এ == $ বি $ এ === $ বি
  নাল (নাল) নুল (নাল) মিথ্যা মিথ্যা সত্য সত্য সত্য
 ভাসা (-INF) ভাসা (-INF) মিথ্যা মিথ্যা সত্য সত্য সত্য
  float (INF) float (INF) মিথ্যা মিথ্যা সত্য সত্য সত্য

নিম্ন বা বৃহত্তর:

     V একটি ভিএস $ বি $ এ> $ বি $ এ <$ বি $ আ <= $ বি $ এ> = $ বি $ এ == $ বি $ এ === $ বি
  নুল (নাল) বুল (সত্য) মিথ্যা সত্য সত্য মিথ্যা মিথ্যা মিথ্যা
 float (-INF) NULL (NULL) সত্য মিথ্যা মিথ্যা সত্য মিথ্যা মিথ্যা
  নুল (নুয়াল) ভাসা (1) মিথ্যা সত্য সত্য মিথ্যা মিথ্যা
  ভাসা (INF) NULL (NULL) সত্য মিথ্যা মিথ্যা সত্য মিথ্যা মিথ্যা
  float (NAN) NULL (NULL) সত্য মিথ্যা মিথ্যা সত্য মিথ্যা মিথ্যা
  NULL (NULL) int (-1) মিথ্যা সত্য সত্য মিথ্যা মিথ্যা
  নুল (নুল) ইন (1) মিথ্যা সত্য সত্য মিথ্যা মিথ্যা
  NULL (NULL) str ("\ 0") মিথ্যা সত্য সত্য সত্য মিথ্যা মিথ্যা
  NULL (NULL) str ('+') মিথ্যা সত্য সত্য মিথ্যা মিথ্যা মিথ্যা
  NULL (NULL) str ('-') মিথ্যা সত্য সত্য মিথ্যা মিথ্যা
  NULL (NULL) str ('0') মিথ্যা সত্য সত্য মিথ্যা মিথ্যা মিথ্যা
  NULL (NULL) str ('01 ') মিথ্যা সত্য সত্য মিথ্যা মিথ্যা
  NULL (NULL) str ('1') মিথ্যা সত্য সত্য মিথ্যা মিথ্যা
  NULL (NULL) str ('মিথ্যা') মিথ্যা সত্য সত্য মিথ্যা মিথ্যা মিথ্যা
  নুল (নুল) টিআর ('পাঠ্য') মিথ্যা সত্য সত্য মিথ্যা মিথ্যা মিথ্যা
  NULL (NULL) str ('সত্য') মিথ্যা সত্য সত্য মিথ্যা মিথ্যা মিথ্যা
   অ্যারে () বুল (সত্য) মিথ্যা সত্য সত্য মিথ্যা মিথ্যা
 ভাসা (-INF) অ্যারে () মিথ্যা সত্য সত্য মিথ্যা মিথ্যা
   অ্যারে () ভাসা (0) সত্য মিথ্যা মিথ্যা সত্য মিথ্যা মিথ্যা
   অ্যারে () ভাসা (1) সত্য মিথ্যা মিথ্যা সত্য মিথ্যা মিথ্যা
  ভাসা (INF) অ্যারে () মিথ্যা সত্য সত্য মিথ্যা মিথ্যা
  ভাসা (NAN) অ্যারে () মিথ্যা সত্য সত্য মিথ্যা মিথ্যা
   অ্যারে () ইনট (-1) সত্য মিথ্যা মিথ্যা সত্য মিথ্যা মিথ্যা
   অ্যারে () ইনট (0) সত্য মিথ্যা মিথ্যা সত্য মিথ্যা মিথ্যা
   অ্যারে () ইনট (1) সত্য মিথ্যা মিথ্যা সত্য মিথ্যা মিথ্যা
   অ্যারে () আরআর ("\ 0") সত্য মিথ্যা মিথ্যা সত্য মিথ্যা মিথ্যা
   str ('') অ্যারে () মিথ্যা সত্য সত্য মিথ্যা মিথ্যা
   অ্যারে () টিআর ('+') সত্য মিথ্যা মিথ্যা সত্য মিথ্যা মিথ্যা
   অ্যারে () টিআর ('-') সত্য মিথ্যা মিথ্যা সত্য মিথ্যা মিথ্যা
   অ্যারে () টিআর ('0') সত্য মিথ্যা মিথ্যা সত্য মিথ্যা মিথ্যা
   অ্যারে () আরআর ('01 ') সত্য মিথ্যা মিথ্যা সত্য মিথ্যা মিথ্যা
   অ্যারে () টিআর ('1') সত্য মিথ্যা মিথ্যা সত্য মিথ্যা মিথ্যা
   অ্যারে () টিআর ('মিথ্যা') সত্য মিথ্যা মিথ্যা সত্য মিথ্যা মিথ্যা
   অ্যারে () টিআর ('পাঠ্য') সত্য মিথ্যা মিথ্যা সত্য মিথ্যা মিথ্যা
   অ্যারে () টিআর ('সত্য') সত্য মিথ্যা মিথ্যা সত্য মিথ্যা মিথ্যা
  bool (সত্য) bool (মিথ্যা) সত্য মিথ্যা মিথ্যা সত্য মিথ্যা false
 ভাসা (-আইএনএফ) বুল (মিথ্যা) সত্য মিথ্যা মিথ্যা সত্য মিথ্যা মিথ্যা
   ভাসা (1) বুল (মিথ্যা) সত্য মিথ্যা মিথ্যা সত্য মিথ্যা মিথ্যা
  float (INF) bool (মিথ্যা) সত্য মিথ্যা মিথ্যা সত্য মিথ্যা মিথ্যা
  float (NAN) bool (মিথ্যা) সত্য মিথ্যা মিথ্যা সত্য মিথ্যা false
 bool (মিথ্যা) int (-1) মিথ্যা সত্য সত্য মিথ্যা মিথ্যা
    int (1) বুল (মিথ্যা) সত্য মিথ্যা মিথ্যা সত্য মিথ্যা মিথ্যা
 বুল (মিথ্যা) টিআর ("\ 0") মিথ্যা সত্য সত্য মিথ্যা মিথ্যা মিথ্যা
 bool (false) str ('+') মিথ্যা সত্য সত্য মিথ্যা মিথ্যা false
 bool (false) str ('-') মিথ্যা সত্য সত্য মিথ্যা মিথ্যা
 bool (false) str ('01 ') মিথ্যা সত্য সত্য মিথ্যা মিথ্যা মিথ্যা false
   str ('1') বুল (মিথ্যা) সত্য মিথ্যা মিথ্যা সত্য মিথ্যা মিথ্যা
 bool (false) str ('মিথ্যা') মিথ্যা সত্য সত্য মিথ্যা মিথ্যা
 str ('পাঠ্য') bool (মিথ্যা) সত্য মিথ্যা মিথ্যা সত্য মিথ্যা মিথ্যা
 str ('সত্য') বুল (মিথ্যা) সত্য মিথ্যা মিথ্যা সত্য মিথ্যা মিথ্যা
  বুল (সত্য) ভাসা (0) সত্য মিথ্যা মিথ্যা সত্য মিথ্যা মিথ্যা
  bool (true) int (0) সত্য মিথ্যা মিথ্যা সত্য মিথ্যা মিথ্যা
   str ('') বুল (সত্য) মিথ্যা সত্য সত্য মিথ্যা মিথ্যা
  bool (true) str ('0') সত্য মিথ্যা মিথ্যা সত্য মিথ্যা মিথ্যা
 ভাসা (-INF) ভাসা (0) মিথ্যা সত্য সত্য মিথ্যা মিথ্যা
 ভাসা (-INF) ভাসা (1) মিথ্যা সত্য সত্য মিথ্যা মিথ্যা
  float (INF) float (-INF) সত্য মিথ্যা মিথ্যা সত্য মিথ্যা মিথ্যা
 ভাসা (-INF) int (-1) মিথ্যা সত্য সত্য মিথ্যা মিথ্যা
 ভাসা (-INF) int (0) মিথ্যা সত্য সত্য মিথ্যা মিথ্যা
 ভাসা (-INF) int (1) মিথ্যা সত্য সত্য মিথ্যা মিথ্যা
 ভাসা (-INF) টিআর ("\ 0") মিথ্যা সত্য সত্য মিথ্যা মিথ্যা মিথ্যা
 ভাসা (-INF) str ('') মিথ্যা সত্য সত্য মিথ্যা মিথ্যা
 ভাসা (-INF) str ('+') মিথ্যা সত্য সত্য মিথ্যা মিথ্যা
 ভাসা (-INF) str ('-') মিথ্যা সত্য সত্য মিথ্যা মিথ্যা
 ভাসা (-INF) str ('0') মিথ্যা সত্য সত্য মিথ্যা মিথ্যা
 ভাসা (-INF) str ('01 ') মিথ্যা সত্য সত্য মিথ্যা মিথ্যা
 ভাসা (-INF) str ('1') মিথ্যা সত্য সত্য মিথ্যা মিথ্যা
 ভাসা (-INF) str ('মিথ্যা') মিথ্যা সত্য সত্য মিথ্যা মিথ্যা
 ভাসা (-INF) str ('পাঠ্য') মিথ্যা সত্য সত্য মিথ্যা মিথ্যা
 ভাসা (-INF) str ('সত্য') মিথ্যা সত্য সত্য মিথ্যা মিথ্যা
   ভাসা (1) ভাসা (0) সত্য মিথ্যা মিথ্যা সত্য মিথ্যা মিথ্যা
  ভাসা (INF) ভাসা (0) সত্য মিথ্যা মিথ্যা সত্য মিথ্যা মিথ্যা
   ভাসা (0) int (-1) সত্য মিথ্যা মিথ্যা সত্য মিথ্যা মিথ্যা
    int (1) ভাসা (0) সত্য মিথ্যা মিথ্যা সত্য মিথ্যা মিথ্যা
   ভাসা (0) str ('01 ') মিথ্যা সত্য সত্য মিথ্যা মিথ্যা
   str ('1') ভাসা (0) সত্য মিথ্যা মিথ্যা সত্য মিথ্যা মিথ্যা
  ভাসা (আইএনএফ) ভাসা (1) সত্য মিথ্যা মিথ্যা সত্য মিথ্যা মিথ্যা
   ভাসা (1) int (-1) সত্য মিথ্যা মিথ্যা সত্য মিথ্যা মিথ্যা
   ভাসা (1) int (0) সত্য মিথ্যা মিথ্যা সত্য মিথ্যা মিথ্যা
   ভাসা (1) টিআর ("\ 0") সত্য মিথ্যা মিথ্যা সত্য মিথ্যা মিথ্যা
   str ('') ভাসা (1) মিথ্যা সত্য সত্য মিথ্যা মিথ্যা
   ভাসা (1) টিআর ('+') সত্য মিথ্যা মিথ্যা সত্য মিথ্যা মিথ্যা
   ভাসা (1) টিআর ('-') সত্য মিথ্যা মিথ্যা সত্য মিথ্যা মিথ্যা
   ভাসা (1) টিআর ('0') সত্য মিথ্যা মিথ্যা সত্য মিথ্যা মিথ্যা
   ভাসা (1) টিআর ('মিথ্যা') সত্য মিথ্যা মিথ্যা সত্য মিথ্যা মিথ্যা
 str ('পাঠ্য') ভাসা (1) মিথ্যা সত্য সত্য মিথ্যা মিথ্যা
 str ('সত্য') ভাসা (1) মিথ্যা সত্য সত্য মিথ্যা মিথ্যা
  ভাসা (INF) int (-1) সত্য মিথ্যা মিথ্যা সত্য মিথ্যা মিথ্যা
  ভাসা (INF) int (0) সত্য মিথ্যা মিথ্যা সত্য মিথ্যা মিথ্যা
  ভাসা (INF) int (1) সত্য মিথ্যা মিথ্যা সত্য মিথ্যা মিথ্যা
  ভাসা (INF) str ("\ 0") সত্য মিথ্যা মিথ্যা সত্য মিথ্যা মিথ্যা
  ভাসা (INF) str ('') সত্য মিথ্যা মিথ্যা সত্য মিথ্যা মিথ্যা
  ভাসা (INF) str ('+') সত্য মিথ্যা মিথ্যা সত্য মিথ্যা মিথ্যা
  ভাসা (INF) str ('-') সত্য মিথ্যা মিথ্যা সত্য মিথ্যা মিথ্যা
  ভাসা (INF) str ('0') সত্য মিথ্যা মিথ্যা সত্য মিথ্যা মিথ্যা
  ভাসা (INF) str ('01 ') সত্য মিথ্যা মিথ্যা সত্য মিথ্যা মিথ্যা
  ভাসা (INF) str ('1') সত্য মিথ্যা মিথ্যা সত্য মিথ্যা মিথ্যা
  ভাসা (INF) str ('মিথ্যা') সত্য মিথ্যা মিথ্যা সত্য মিথ্যা মিথ্যা
  ভাসা (INF) str ('পাঠ্য') সত্য মিথ্যা মিথ্যা সত্য মিথ্যা মিথ্যা
  float (INF) str ('সত্য') সত্য মিথ্যা মিথ্যা সত্য মিথ্যা মিথ্যা
    int (0) int (-1) সত্য মিথ্যা মিথ্যা সত্য মিথ্যা মিথ্যা
    int (1) int (-1) সত্য মিথ্যা মিথ্যা সত্য মিথ্যা মিথ্যা
  str ("\ 0") int (-1) সত্য মিথ্যা মিথ্যা সত্য মিথ্যা মিথ্যা
   str ('') int (-1) সত্য মিথ্যা মিথ্যা সত্য মিথ্যা মিথ্যা
   str ('+') int (-1) সত্য মিথ্যা মিথ্যা সত্য মিথ্যা মিথ্যা
   str ('-') int (-1) সত্য মিথ্যা মিথ্যা সত্য মিথ্যা মিথ্যা
   str ('0') int (-1) সত্য মিথ্যা মিথ্যা সত্য মিথ্যা মিথ্যা
   int (-1) str ('01 ') মিথ্যা সত্য সত্য মিথ্যা মিথ্যা
   str ('1') int (-1) সত্য মিথ্যা মিথ্যা সত্য মিথ্যা মিথ্যা
 str ('মিথ্যা') int (-1) সত্য মিথ্যা মিথ্যা সত্য মিথ্যা মিথ্যা
 str ('Text') int (-1) সত্য মিথ্যা মিথ্যা সত্য মিথ্যা মিথ্যা
 str ('true') int (-1) সত্য মিথ্যা মিথ্যা সত্য মিথ্যা মিথ্যা
    int (1) int (0) সত্য মিথ্যা মিথ্যা সত্য মিথ্যা মিথ্যা
    int (0) str ('01 ') মিথ্যা সত্য সত্য মিথ্যা মিথ্যা
   str ('1') int (0) সত্য মিথ্যা মিথ্যা সত্য মিথ্যা মিথ্যা
    int (1) str ("\ 0") সত্য মিথ্যা মিথ্যা সত্য মিথ্যা মিথ্যা
   str ('') int (1) মিথ্যা সত্য সত্য মিথ্যা মিথ্যা
    int (1) str ('+') সত্য মিথ্যা মিথ্যা সত্য মিথ্যা মিথ্যা
    int (1) str ('-') সত্য মিথ্যা মিথ্যা সত্য মিথ্যা মিথ্যা
    int (1) str ('0') সত্য মিথ্যা মিথ্যা সত্য মিথ্যা মিথ্যা
    int (1) str ('মিথ্যা') সত্য মিথ্যা মিথ্যা সত্য মিথ্যা মিথ্যা
 str ('Text') int (1) মিথ্যা সত্য সত্য মিথ্যা মিথ্যা
 str ('true') int (1) মিথ্যা সত্য সত্য মিথ্যা মিথ্যা
   str ('') str ("\ 0") মিথ্যা সত্য সত্য মিথ্যা মিথ্যা
   str ('+') str ("\ 0") সত্য মিথ্যা মিথ্যা সত্য মিথ্যা মিথ্যা
   str ('-') str ("\ 0") সত্য মিথ্যা মিথ্যা সত্য মিথ্যা মিথ্যা
  str ("\ 0") str ('0') মিথ্যা সত্য সত্য মিথ্যা মিথ্যা মিথ্যা
  str ("\ 0") str ('01 ') মিথ্যা সত্য সত্য মিথ্যা মিথ্যা
   str ('1') str ("\ 0") সত্য মিথ্যা মিথ্যা সত্য মিথ্যা মিথ্যা
 str ('মিথ্যা') টিআর ("\ 0") সত্য মিথ্যা মিথ্যা সত্য মিথ্যা মিথ্যা
 str ('পাঠ্য') টিআর ("\ 0") সত্য মিথ্যা মিথ্যা সত্য মিথ্যা মিথ্যা
 str ('সত্য') টিআর ("\ 0") সত্য মিথ্যা মিথ্যা সত্য মিথ্যা মিথ্যা
   str ('') str ('+') মিথ্যা সত্য সত্য মিথ্যা মিথ্যা
   str ('') str ('-') মিথ্যা সত্য সত্য মিথ্যা মিথ্যা
   str ('') str ('0') মিথ্যা সত্য সত্য মিথ্যা মিথ্যা
   str ('') str ('01 ') মিথ্যা সত্য সত্য মিথ্যা মিথ্যা
   str ('') str ('1') মিথ্যা সত্য সত্য মিথ্যা মিথ্যা
   str ('') str ('মিথ্যা') মিথ্যা সত্য সত্য মিথ্যা মিথ্যা
   str ('') str ('পাঠ্য') মিথ্যা সত্য সত্য মিথ্যা মিথ্যা
   str ('') str ('সত্য') মিথ্যা সত্য সত্য মিথ্যা মিথ্যা
   str ('-') str ('+') সত্য মিথ্যা মিথ্যা সত্য মিথ্যা মিথ্যা
   str ('+') str ('0') মিথ্যা সত্য সত্য মিথ্যা মিথ্যা
   str ('+') str ('01 ') মিথ্যা সত্য সত্য মিথ্যা মিথ্যা
   str ('1') str ('+') সত্য মিথ্যা মিথ্যা সত্য মিথ্যা মিথ্যা
 str ('false') str ('+') সত্য মিথ্যা মিথ্যা সত্য মিথ্যা মিথ্যা false
 str ('text') str ('+') সত্য মিথ্যা মিথ্যা সত্য মিথ্যা মিথ্যা
 str ('true') str ('+') সত্য মিথ্যা মিথ্যা সত্য মিথ্যা মিথ্যা
   str ('-') str ('0') মিথ্যা সত্য সত্য মিথ্যা মিথ্যা
   str ('-') str ('01 ') মিথ্যা সত্য সত্য মিথ্যা মিথ্যা
   str ('1') str ('-') সত্য মিথ্যা মিথ্যা সত্য মিথ্যা মিথ্যা
 str ('false') str ('-') সত্য মিথ্যা মিথ্যা সত্য মিথ্যা মিথ্যা
 str ('Text') str ('-') সত্য মিথ্যা মিথ্যা সত্য মিথ্যা মিথ্যা
 str ('true') str ('-') সত্য মিথ্যা মিথ্যা সত্য মিথ্যা মিথ্যা
   str ('0') str ('01 ') মিথ্যা সত্য সত্য মিথ্যা মিথ্যা
   str ('1') str ('0') সত্য মিথ্যা মিথ্যা সত্য মিথ্যা মিথ্যা
 str ('মিথ্যা') টিআর ('0') সত্য মিথ্যা মিথ্যা সত্য মিথ্যা মিথ্যা
 str ('পাঠ্য') টিআর ('0') সত্য মিথ্যা মিথ্যা সত্য মিথ্যা মিথ্যা
 str ('true') str ('0') সত্য মিথ্যা মিথ্যা সত্য মিথ্যা মিথ্যা
 str ('false') str ('01 ') সত্য মিথ্যা মিথ্যা সত্য মিথ্যা মিথ্যা false
 str ('Text') str ('01 ') সত্য মিথ্যা মিথ্যা সত্য মিথ্যা মিথ্যা false
 str ('true') str ('01 ') সত্য মিথ্যা মিথ্যা সত্য মিথ্যা মিথ্যা
   str ('1') str ('মিথ্যা') মিথ্যা সত্য সত্য মিথ্যা মিথ্যা
 str ('text') str ('1') সত্য মিথ্যা মিথ্যা সত্য মিথ্যা মিথ্যা
 str ('true') str ('1') সত্য মিথ্যা মিথ্যা সত্য মিথ্যা মিথ্যা
 str ('পাঠ্য') টিআর ('মিথ্যা') সত্য মিথ্যা মিথ্যা সত্য মিথ্যা মিথ্যা
 str ('সত্য') টিআর ('মিথ্যা') সত্য মিথ্যা মিথ্যা সত্য মিথ্যা মিথ্যা
 str ('সত্য') টিআর ('পাঠ্য') সত্য মিথ্যা মিথ্যা সত্য মিথ্যা মিথ্যা

$a > $b > $cকনড্রাম যখন: এর $aচেয়ে বড় হয় না $c

এ <সি: ফ্লোট (ন্যান)> টিআর ('এ')> স্ট ('')
এ <সি: ফ্লোট (ন্যান)> টিআর ('এ')> টিআর ('1')
এ <সি: ফ্লোট (ন্যান)> টিআর ('এ')> স্ট ('এ')
এ <সি: ফ্লোট (ন্যান)> টিআর ('এ')> টিআর ('0')
এ <সি: ফ্লোট (ন্যান)> টিআর ('1')> স্ট ('')
এ <সি: ফ্লোট (ন্যান)> টিআর ('1')> টিআর ('0')
এ <সি: ফ্লোট (ন্যান)> টিআর ('এ')> স্ট ('')
এ <সি: ফ্লোট (ন্যান)> টিআর ('এ')> স্ট ('1')
এ <সি: ফ্লোট (ন্যান)> টিআর ('এ')> টিআর ('0')
এ <সি: ফ্লোট (ন্যান)> টিআর ('0')> স্ট ('')
এ <সি: আরআর ('')> ভাসা (ন্যান)> টিআর ('এ')
এ <সি: আরআর ('')> ভাসা (ন্যান)> স্ট ('1')
এ <সি: আরআর ('')> ভাসা (ন্যান)> স্ট ('এ')
এ <সি: আরআর ('')> ভাসা (এনএএন)> স্ট্র ('0')
এ <সি: আরআর ('এ')> স্ট ('')> ভাসা (এনএএন)
এ <সি: আরআর ('এ')> স্ট ('1')> ভাসা (এনএএন)
এ <সি: আরআর ('এ')> স্ট ('এ')> ভাসা (এনএএন)
এ <সি: আরআর ('এ')> স্ট ('0')> ভাসা (এনএএন)
এ <সি: আরআর ('0')> স্ট্র ('')> ভাসা (এনএএন)
এ == সি: বুল (সত্য)> টিআর ('')> ভাসা (এনএএন)
এ == সি: বুল (সত্য)> টিআর ('')> ভাসা (-আইএনএফ)
এ == সি: বুল (সত্য)> টিআর ('')> ইন্ট (-1)
এ == সি: বুল (সত্য)> টিআর ('')> ভাসা (-1)
এ == সি: বুল (সত্য)> অ্যারে ()> ভাসা (এনএএন)
এ == সি: বুল (সত্য)> অ্যারে ()> ভাসা (আইএনএফ)
এ == সি: বুল (সত্য)> অ্যারে ()> ভাসা (-আইএনএফ)
এ == সি: বুল (সত্য)> অ্যারে ()> স্ট ('এ')
এ == সি: বুল (সত্য)> অ্যারে ()> ইনট (1)
এ == সি: বুল (সত্য)> অ্যারে ()> ভাসা (1)
এ == সি: বুল (সত্য)> অ্যারে ()> টিআর ('1')
এ == সি: বুল (সত্য)> অ্যারে ()> স্ট ('এ')
এ == সি: বুল (সত্য)> অ্যারে ()> ইনট (-1)
এ == সি: বুল (সত্য)> অ্যারে ()> ভাসা (-1)
এ == সি: বুল (সত্য)> ইনট (0)> ভাসা (-আইএনএফ)
এ == সি: বুল (সত্য)> ইনট (0)> ইনট (-1)
এ == সি: বুল (সত্য)> ইনট (0)> ভাসা (-1)
এ == সি: বুল (সত্য)> টিআর ('0')> ভাসা (এনএএন)
এ == সি: বুল (সত্য)> টিআর ('0')> ভাসা (-আইএনএফ)
এ == সি: বুল (সত্য)> টিআর ('0')> ইন্ট (-1)
এ == সি: বুল (সত্য)> টিআর ('0')> ভাসা (-1)
এ == সি: বুল (সত্য)> ভাসা (0)> ভাসা (-আইএনএফ)
এ == সি: বুল (সত্য)> ভাসা (0)> ইনট (-1)
এ == সি: বুল (সত্য)> ভাসা (0)> ভাসা (-1)
এ == সি: ইনট (1)> স্ট ('এ')> স্ট ('1')
এ == সি: ইনট (1)> স্ট ('এ')> স্ট ('1')
এ == সি: ফ্লোট (1)> স্ট ('এ')> স্ট ('1')
এ == সি: ফ্লোট (1)> স্ট ('এ')> স্ট ('1')
এ == সি: আরআর ('এ')> টিআর ('1')> ইনট (0)
এ == সি: আরআর ('এ')> টিআর ('1')> ভাসা (0)
এ == সি: আরআর ('')> ভাসা (-আইএনএফ)> নুল (NULL)
A == C: str ('')> ভাসা (-INF)> বুল (মিথ্যা)
এ == সি: আরআর ('')> ইন্ট (-1)> নুল (ন্যূন)
A == C: str ('')> int (-1)> বুল (মিথ্যা)
এ == সি: আরআর ('')> ভাসা (-1)> নুল (NULL)
A == C: str ('')> ভাসা (-1)> বুল (মিথ্যা)
এ == সি: অ্যারে ()> ভাসা (ন্যান)> নুল (ন্যূন)
এ == সি: অ্যারে ()> ভাসা (ন্যান)> বুল (মিথ্যা)
এ == সি: অ্যারে ()> ভাসা (আইএনএফ)> নুল (NULL)
এ == সি: অ্যারে ()> ভাসা (আইএনএফ)> বুল (মিথ্যা)
এ == সি: অ্যারে ()> ভাসা (-আইএনএফ)> নুল (NULL)
এ == সি: অ্যারে ()> ফ্লোট (-INF)> বুল (মিথ্যা)
এ == সি: অ্যারে ()> টিআর ('এ')> নুল (নাল)
এ == সি: অ্যারে ()> স্ট ('এ')> বুল (মিথ্যা)
এ == সি: অ্যারে ()> ইনট (১)> নুল (ন্যূন)
এ == সি: অ্যারে ()> ইনট (১)> বুল (মিথ্যা)
এ == সি: অ্যারে ()> ভাসা (1)> নুল (ন্যূন)
এ == সি: অ্যারে ()> ভাসা (1)> বুল (মিথ্যা)
এ == সি: অ্যারে ()> টিআর ('1')> নুল (নাল)
এ == সি: অ্যারে ()> টিআর ('1')> বুল (মিথ্যা)
এ == সি: অ্যারে ()> টিআর ('এ')> নুল (নাল)
এ == সি: অ্যারে ()> স্ট ('এ')> বুল (মিথ্যা)
এ == সি: অ্যারে ()> টিআর ('0')> নুল (নাল)
এ == সি: অ্যারে ()> ইনট (-1)> নুল (নুয়াল)
এ == সি: অ্যারে ()> ইনট (-1)> বুল (মিথ্যা)
এ == সি: অ্যারে ()> ভাসা (-1)> নুল (NULL)
এ == সি: অ্যারে ()> ভাসা (-1)> বুল (মিথ্যা)
এ == সি: আরআর ('')> ভাসা (ন্যান)> বুল (মিথ্যা)
এ == সি: আরআর ('')> ভাসা (ন্যান)> নুল (ন্যূন)
এ == সি: আরআর ('এ')> টিআর ('1')> ইন্ট (0)
এ == সি: আরআর ('এ')> টিআর ('1')> ভাসা (0)
এ == সি: ইনট (0)> ফ্লোট (-আইএনএফ)> নুল (ন্যূন)
এ == সি: ইনট (0)> ফ্লোট (-INF)> বুল (মিথ্যা)
এ == সি: ইনট (0)> ইনট (-1)> নুল (নুল)
এ == সি: ইনট (0)> ইনট (-1)> বুল (মিথ্যা)
এ == সি: ইনট (0)> ভাসা (-1)> নুল (ন্যূন)
এ == সি: ইনট (0)> ফ্লোট (-1)> বুল (মিথ্যা)
এ == সি: আরআর ('0')> ভাসা (ন্যান)> বুল (মিথ্যা)
A == C: str ('0')> ভাসা (-INF)> বুল (মিথ্যা)
এ == সি: আরআর ('0')> ইন (-1)> বুল (মিথ্যা)
A == C: str ('0')> ভাসা (-1)> বুল (মিথ্যা)
এ == সি: ফ্লোট (0)> ফ্লোট (-আইএনএফ)> নুল (ন্যূন)
এ == সি: ফ্লোট (0)> ফ্লোট (-INF)> বুল (মিথ্যা)
এ == সি: ফ্লোট (0)> ইনট (-1)> নুল (ন্যূন)
এ == সি: ফ্লোট (0)> ইন (-1)> বুল (মিথ্যা)
এ == সি: ফ্লোট (0)> ভাসা (-1)> নুল (NULL)
এ == সি: ফ্লোট (0)> ফ্লোট (-1)> বুল (মিথ্যা)
এ === সি: আরআর ('0')> ভাসা (ন্যান)> টিআর ('0')
এ === সি: আরআর ('')> ভাসা (এনএএন)> স্ট্র ('')
এ === সি: আরআর ('এ')> ভাসা (ন্যান)> টিআর ('এ')
এ === সি: আরআর ('1')> ভাসমান (এনএএন)> স্ট্র ('1')
এ === সি: আরআর ('এ')> ভাসা (ন্যান)> টিআর ('এ')

মজাদার স্ট্রিং তুলনা: 'কুইন' >'কিং' >'জ্যাক' >'এস'

এছাড়াও চেক আউট পিএইচপি টাইপ তুলনা টেবিল জোড়া আচ্ছাদন:

  • isset() এবং is_null()
  • if() এবং empty()
  • বুলিয়ান ==বনাম===

লাইভ এ পিএইচপি সংস্করণ মধ্যে পার্থক্য পরীক্ষা করুন। http://3v4l.org/MAfDu


26
+1 স্থির-কলাম শিরোনামগুলির সাথে স্ক্রোলযোগ্য "টেবিলগুলি" - নিফটি ধারণা;)
হ্যাক্রে

টাইপ-কাস্টিংয়ের সময় কি একজনকে কঠোর অপারেটর ব্যবহার করা দরকার? মানে আপনি লিখেছেন if ( (string)$a===(string)$b )কিন্তু ঠিক এর মতো হয় না if ( (string)$a==(string)$b )?
ভোকটাস

@Voitcus হ্যাঁ উভয় প্রকার ঢালাই জন্য (string)1==(string)'01'-> bool(true)এবং জন্য টাইপ-প্রতারণা (1 . '')=='01'-> bool(true)না ঠিক মতো একই ===যখন আপনি পেতে হবে bool(false)উভয় অ্যাকাউন্টে
CSᵠ

1
একটি নিট-পিক: অষ্টাল মানগুলি "নিয়োগের সময় রূপান্তরিত হয় না", সেগুলি সংকলক দ্বারা ব্যাখ্যা করা হয়, যা ASCII কে প্রকৃত বাইনারি সংখ্যায় পরিণত করতে হয়।
আইএমএসওপি

INFINITY is equal to INFINITY which is mathematically incorrect!একটি সিদ্ধান্ত নিয়ে বিতর্কযোগ্য বিবৃতি। এছাড়াও নোট করুন যে NaNকনভেনশন দ্বারা আমি জানি যে কোনও প্রোগ্রামিং ভাষায় কোনও কিছুর চেয়ে কম বা এর সমান নয়।
ডেভর্যান্ডম

22

আপনার প্রশ্নের দ্বিতীয় অংশটি সংশোধন করার পরে, আমি সেই অংশের উত্তরটি অন্যের কাছে রেখে দিচ্ছি। আমি শুধু একটি উদাহরণ আছে কিনা, আপনার প্রশ্নের, অর্থাত্ প্রথম অংশ সবচেয়ে বিস্ময়কর উত্তর দিতে চান <এবং> অপারেটরদের অকর্মক হচ্ছে। এটা এখানে.

এই সব true:

"10" < "1a"
"1a" < "2"
"10" > "2"

যদি <ট্রানজিটিভ ( $a < $b$b < $c$a < $c) হত তবে শেষ লাইনটি হবে

"10" < "2"

কিন্তু পিএইচপি দয়া করে (?!) হওয়ার চেষ্টা করে এবং স্ট্রিংগুলি যখনই পারে তখন সংখ্যা হিসাবে ব্যাখ্যা করে।

দেখা যাচ্ছে যে উপরের আন্তঃসংযোগের sort()কারণে একই উপাদানগুলিকে তাদের ইনপুট ক্রমের উপর নির্ভর করে আলাদা অর্ডারে সাজিয়ে তুলতে পারে, এমনকি কোনও দুটি উপাদান না থাকলেও== (এবং কোনও উপাদান ন্যান নয়)। বাছাই করতে একটি মন্তব্যে আমি এটিকে নির্দেশ করেছি () , এর মর্মটি:

sort(array("10", "1a", "2" )) => array("10", "1a", "2" )
sort(array("10", "2",  "1a")) => array("1a", "2",  "10")
sort(array("1a", "10", "2" )) => array("2",  "10", "1a")
sort(array("1a", "2",  "10")) => array("1a", "2",  "10")
sort(array("2",  "10", "1a")) => array("2",  "10", "1a")
sort(array("2",  "1a", "10")) => array("10", "1a", "2" )

1
পূর্ববর্তী মন্তব্যটি উত্তরটির একটি অংশ (প্রশ্নের দ্বিতীয় অংশের সাথে সম্পর্কিত) বোঝায় যা আমি ইতিমধ্যে মুছে
ফেলেছি

এটি এখনই সরানো হয়েছে;) এবং দুর্দান্ত নতুন sort()টেবিল, সম্পর্কিত ব্লগ পোস্ট দ্য গ্রেটেস্ট পিএইচপি মান লেখার সময় ব্যবহারিক প্রভাবের জন্য এটিও বেছে নিয়েছে । আপনার উত্তরের জন্য আবার ধন্যবাদ।
hakre

এর অর্থ কি এই যে usortযখনই সম্ভব ব্যবহার করা উচিত ?
ভোকটাস

2
@ ভুইটকস: আমার ধারণা আপনার অর্থ usort($arr, 'strcmp')। এটি (অবশ্যই স্ট্রিংগুলির জন্য) কাজ করে তবে এটি ব্যবহার করা ভাল sort($arr, SORT_STRING)
ওয়াল্টার ট্রস

@ ওয়াল্টারট্রস আমার অর্থ সর্বদা আপনার নিজের ফাংশনটি ব্যবহার করুন (কেবল স্ট্রিংগুলির জন্য নয়) এটি সর্বদা সঠিক কিনা তা নিশ্চিত করতে
ভয়েটকাস
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.