আপনি যদি সত্যই জানতে চান যে কোনও স্ট্রিং সত্য পিএইচপি পূর্ণসংখ্যার ধরণের বৈধ উপস্থাপনা কিনা ...
in_array($string, array_map('strval', range(PHP_INT_MIN, PHP_INT_MAX)), true)
তবে সেটটি খুব বড় হওয়ায় এটি চালানো অসম্ভব (এই ক্ষেত্রে মেমরির সাথে খাপ খায় না, পরিবর্তে লুপ করলে এটি অনেক বেশি সিপিইউ চক্র গ্রহণ করবে)।
আপনি সম্ভবত স্ট্রিং তুলনা সঙ্গে একটি বাইনারি অনুসন্ধান করতে পারেন, তবে আরও ভাল উপায় আছে।
সরল সত্তা:
strlen($string) <= max(strlen((string)PHP_INT_MIN), strlen((string)PHP_INT_MAX)) && $string === (string)(int)$string
এটির কাছে যাওয়ার আরও কিছু অস্বাভাবিক উপায় রয়েছে যেমন:
is_int(array_keys([$string => null])[0])
আপনি স্ট্রিং তুলনাও করতে পারেন তবে আপনাকে এখনও সিটিপি_ডিজিটের মতো কাজগুলি করতে হবে, দৈর্ঘ্যটি যুক্তিসঙ্গত কিনা তা পরীক্ষা করুন (সিটিপি_ডিজিটের মতো কাজ করার আগে সিপিইউ নষ্ট করবেন না) এবং নেতিবাচক সংখ্যার জন্য কিছু বিশ্রী হ্যান্ডলিং করতে হবে।
নোট করুন যে ফিল্টার_ভার সঠিকভাবে জোর দেয় না যে কোনও স্ট্রিং প্রকৃতপক্ষে কোনও পিএইচপি পূর্ণসংখ্যার উপস্থাপনা। এটি নেতৃস্থানীয় + এবং আশেপাশের সাদা স্থানকে অনুমতি দেবে।
অভ্যন্তরীণভাবে পিএইচপি কঠোর তুলনার জন্য "_zend_handle_numeric_str" ফাংশনটি ব্যবহার করে তবে এটি এটিকে সরাসরি কোথাও প্রকাশ করে না, সুতরাং অ্যারের কীগুলি ব্যবহার করে কৌশল (যা কোনও পিএইচপি পূর্ণসংখ্যার পিএইচপি পূর্ণসংখ্যার প্রতিনিধিত্ব করে এমন কোনও স্ট্রিং রূপান্তর করতে এটি ব্যবহার করে)।
আপনি যদি পিএইচপি থেকে এবং বাইনারি সুরক্ষিত রূপান্তর চান তবে এটি গ্রহণ করার পদ্ধতি।
প্রত্যেকে এটি পছন্দ করতে পারে না এবং এটি ব্যবহারকারীর ইনপুট হ্যান্ডেল করার ক্ষেত্রে হতে পারে। ফিল্টার_ভার এর পক্ষে খুব খারাপ নয় এবং পিএইচপি-তে নতুন নতুন ব্যক্তিদের পক্ষে বেশিরভাগ ক্ষেত্রেই মোটামুটি নিরাপদে থাকবে।
একটি দৈর্ঘ্যের চেক, সিটিপাইডিজিট এবং তারপরে রূপান্তরিত মানের একটি চেক যা এটি একটি পরিসরের মধ্যে রয়েছে তাও ব্যবহারকারী ইনপুটটির জন্য যথেষ্ট শক্ত। আরও জটিল স্কিমগুলি ছাঁটাই বা রেজেেক্স চাইবে।
সেই বিষয়ে এখানে প্রচুর উত্তর নিয়ে সমস্যাটি হ'ল প্রশ্নটি অস্পষ্ট হওয়ার পরেও উত্তরগুলি হওয়া উচিত নয়। আপনি যদি কোনও সমাধান প্রস্তাব করতে চলেছেন তবে এটির ঠিক কী হবে তা আপনি ব্যাখ্যা করতে সক্ষম হবেন এবং আশা করবেন না। এটি ছাড়া কোনও উত্তর কোনও প্রশ্নের সাথে মেলে বা নিরাপদ কিনা তা বলার অপেক্ষা রাখে না। পিএইচপি ম্যানুয়াল সর্বদা সহায়তা করে না কারণ এটি সরবরাহ করা প্রতিটি প্রাসঙ্গিক পদ্ধতির জন্য সমস্ত ক্যাভেটকে ব্যাখ্যা করে না। সিটিপি_ডিজিট এবং ইস_িন্টের মতো বিষয়গুলি খুব নির্ভরযোগ্য এবং ভবিষ্যদ্বাণী করা সহজ তবে ইস_নামারিক, ফিল্টার_ভার এবং জাগলিং (+ $ ভ্যার) বা ingালাই (ইনভ্যাল / ফ্লোটওয়াল) এর সুনির্দিষ্ট দস্তাবেজগুলি নেই।
এটি আপনার জন্য পিএইচপি fudge। এটিতে অসঙ্গতি সহ স্ট্রিংটিকে পূর্ণসংখ্যা হিসাবে ব্যাখ্যা করার জন্য একটি অজস্র স্কিমাস রয়েছে। একটি পূর্ণসংখ্যার স্ট্রিং যাচাইয়ের সবচেয়ে কড়া পদ্ধতিটি সরাসরি ব্যবহারকারীর সামনে প্রকাশিত হয় না।