Php ഇത് ഒരു നമ്പറാണോ എന്ന് പരിശോധിക്കുക. ഒരു നമ്പറിനായി റെഗുലർ എക്സ്പ്രഷൻ പരിശോധിക്കുന്നു. ജാവാസ്ക്രിപ്റ്റിലെ ഒരു വേരിയബിൾ ഒരു പൂർണ്ണസംഖ്യയാണോ എന്ന് പരിശോധിക്കുന്നു

നിലവിൽ, ഒരു പുതിയ വിഭാഗം ആരംഭിക്കുന്നതിനുള്ള സൈറ്റിൽ സജീവമായ പ്രവർത്തനങ്ങൾ നടക്കുന്നു. അതിനായി ചില സ്ക്രിപ്റ്റുകൾ എഴുതുമ്പോൾ, അക്കങ്ങൾക്കായി വേരിയബിളുകൾ പരിശോധിക്കേണ്ടത് ആവശ്യമായി വന്നു. ഒരു സംഖ്യ മാത്രമല്ല (എല്ലാത്തിനുമുപരി, 1.5 ഒരു സംഖ്യയാണ്), മറിച്ച് ഒരു പൂർണ്ണ സംഖ്യയാണ്. ഞാൻ ഈ പരിശോധന നടത്തിയത് ഇങ്ങനെയാണ്.

PHP-യിൽ ഒരു വേരിയബിൾ ഒരു പൂർണ്ണസംഖ്യയാണോ എന്ന് പരിശോധിക്കുന്നു

ഒരു സംഖ്യ ഒരു പൂർണ്ണസംഖ്യയാണോ എന്ന് PHP-യിൽ പരിശോധിക്കാൻ, ഞങ്ങൾ ഒരു സാധാരണ പദപ്രയോഗം ഉപയോഗിക്കുന്നു:

അതനുസരിച്ച്, വേരിയബിൾ ഒരു പൂർണ്ണസംഖ്യയാണെങ്കിൽ, നമുക്ക് ആവശ്യമുള്ള പ്രവർത്തനം ഞങ്ങൾ ചെയ്യുന്നു, തിരിച്ചും.

ജാവാസ്ക്രിപ്റ്റിലെ ഒരു വേരിയബിൾ ഒരു പൂർണ്ണസംഖ്യയാണോ എന്ന് പരിശോധിക്കുന്നു

ജാവാസ്ക്രിപ്റ്റിൽ, കാര്യങ്ങൾ അൽപ്പം വ്യത്യസ്തമാണ്, ഇവിടെ നമ്മൾ സ്വന്തം ചെറിയ ഫംഗ്ഷൻ എഴുതേണ്ടതുണ്ട്:

ഫംഗ്‌ഷൻ നമ്പർ_സ്കാൻ(എണ്ണം) (റിട്ടേൺ (സംഖ്യ ^ 0) === സംഖ്യ; )

കൂടാതെ ഇത് പരീക്ഷണത്തിനായി ഉപയോഗിക്കുക:

ഫംഗ്‌ഷൻ നമ്പർ_സ്കാൻ(സംഖ്യ) (റിട്ടേൺ (സംഖ്യ ^ 0) === സംഖ്യ; ) var നമ്പർ = "1.3"; if(number_scan(number)) ( // നമ്പർ ഒരു പൂർണ്ണസംഖ്യ ആണെങ്കിൽ പ്രവർത്തനം) മറ്റുള്ളവ ( // നമ്പർ ഫ്രാക്ഷണൽ ആണെങ്കിൽ അല്ലെങ്കിൽ വേരിയബിൾ ഒരു സംഖ്യയല്ലെങ്കിൽ ആക്ഷൻ)

ഇവിടെയും, ഒരു വേരിയബിൾ ഒരു പൂർണ്ണസംഖ്യയ്ക്ക് തുല്യമാണെങ്കിൽ, നിങ്ങൾ ആഗ്രഹിക്കുന്ന പ്രവർത്തനം നിർവ്വഹിക്കുന്നു, തിരിച്ചും.

ഉദാഹരണത്തിന്, ഇനിപ്പറയുന്ന വിലാസം എടുക്കുക: http://example.com/price.php?product=859844&page=99.

ഉൽപ്പന്ന ഉൽപ്പന്നത്തിനായുള്ള സ്റ്റോറുകളിലെ വിലകളുടെ ഒരു ലിസ്റ്റ് സ്ക്രിപ്റ്റ് പ്രദർശിപ്പിക്കുന്നു; ഓപ്ഷണൽ പേജ് പാരാമീറ്റർ പേജ് നമ്പർ വ്യക്തമാക്കുന്നു. പേജ് വ്യക്തമാക്കിയിട്ടില്ലെങ്കിൽ, url http://example.com/price.php?product=859844 പോലെ കാണപ്പെടുന്നുവെങ്കിൽ, ഞങ്ങൾ ആദ്യ പേജ് പ്രദർശിപ്പിക്കും.

PHP 5.2.0-ന് മുമ്പ്, ഈ ലളിതമായ രീതിയിൽ പ്രശ്നം പരിഹരിക്കാൻ കഴിയും.

// ഒരു സ്വാഭാവിക സംഖ്യയായ ഒരു പരാമീറ്റർ ലഭിക്കുന്നതിനുള്ള പ്രവർത്തനം // $arr = പരാമീറ്ററുകളുടെ നിര ($GET അല്ലെങ്കിൽ $POST), $name = പരാമീറ്ററിന്റെ പേര്, // ഫംഗ്ഷൻ പരാമീറ്ററിന്റെ മൂല്യം അല്ലെങ്കിൽ $default നൽകുന്നു പരാമീറ്റർ നഷ്‌ടപ്പെടുകയോ അല്ലെങ്കിൽ തെറ്റായ ഫംഗ്‌ഷൻ get_param_nat ($ arr, $name, $default=null) (!isset($arr[$name])) $default തിരികെ നൽകുകയാണെങ്കിൽ // വളരെ ലളിതമായ രീതിയിൽ പരിശോധിക്കുക, പരിവർത്തനം ചെയ്യുക ഒരു സംഖ്യയിലേക്കുള്ള പാരാമീറ്റർ, തുടർന്ന് ഒരു സ്‌ട്രിംഗിലേക്ക് മടങ്ങുക // എല്ലാം ശരിയാണെങ്കിൽ, തത്ഫലമായുണ്ടാകുന്ന സ്ട്രിംഗ് $val = $arr[$name] എന്ന പാരാമീറ്ററിന്റെ യഥാർത്ഥ മൂല്യവുമായി പൊരുത്തപ്പെടണം; $intval = intval($val); // ലോഡിനായി, ഞങ്ങൾക്ക് ലഭിച്ച സംഖ്യ പൂജ്യത്തേക്കാൾ വലുതാണോ എന്ന് ഞങ്ങൾ പരിശോധിക്കുന്നു (strval($intval) != = $val || $intval< 1) return $default; return $intval; } // Проверяем параметр product if (($product = get_param_nat($_GET, "product")) === null) die("Product not found"); // Получаем номер страницы $page = get_param_nat($_GET, "page", 1);

പതിപ്പ് 5.2.0 മുതൽ, ഫിൽട്ടർ ഫംഗ്‌ഷനുകളുടെ ഒരു കൂട്ടം PHP-യിൽ പ്രത്യക്ഷപ്പെട്ടു: filter_var, filter_input, filter_var_array കൂടാതെ മറ്റു പലതും. ഫംഗ്‌ഷനുകൾക്ക് പൂർണ്ണസംഖ്യകൾ, ഫ്ലോട്ടിംഗ് പോയിന്റ് നമ്പറുകൾ, ഇമെയിൽ, ഐ-വിലാസങ്ങൾ, url മുതലായവയ്‌ക്കായുള്ള വേരിയബിളുകൾ പരിശോധിക്കാനും നിർദ്ദിഷ്ട പാരാമീറ്ററുകൾക്കനുസരിച്ച് സ്ട്രിംഗുകൾ മായ്‌ക്കാനും കഴിയും.

ഫിൽറ്റർ_ഇൻപുട്ട് ഫംഗ്‌ഷൻ ഉപയോഗിച്ച് നമുക്ക് കോഡ് മാറ്റിയെഴുതാം.

ഫംഗ്‌ഷൻ get_param_nat($type, $name, $default=null) ($val = filter_input($type, FILTER_VALIDATE_INT, array("min_range" => 1, "max_range" => PHP_INT_MAX)); //_input ഫിൽട്ടർ ചെയ്യുകയാണെങ്കിൽ തെറ്റായി നൽകുന്നു പരാജയപ്പെട്ടു, അല്ലെങ്കിൽ ($val === null || $val === false) $default നൽകുന്നു; $val തിരികെ നൽകുക; , "ഉൽപ്പന്നം")) === നൾ) ഡൈ ("ഉൽപ്പന്നം കണ്ടെത്തിയില്ല"); // പേജ് നമ്പർ നേടുക $page = get_param_nat(INPUT_GET, "പേജ്", 1);

get_param_nat ഫംഗ്‌ഷന്റെ രണ്ട് വേരിയന്റുകളുടെ പ്രവർത്തന വേഗത ഏതാണ്ട് ഒരുപോലെയാണെന്ന് ഒരു ചെറിയ പരിശോധനയിൽ കാണിച്ചു, ഒരു പാരാമീറ്ററിന്റെ അഭാവത്തിൽ, ഉദാഹരണത്തിന്, പേജ് വ്യക്തമാക്കിയിട്ടില്ല, ആദ്യ വേരിയന്റ് കുറച്ച് വേഗത്തിൽ പ്രവർത്തിക്കും.

അതിനാൽ എന്ത് ഉപയോഗിക്കണമെന്ന് തീരുമാനിക്കേണ്ടത് നിങ്ങളാണ്. ഞാൻ വ്യക്തിപരമായി ആദ്യ ഫംഗ്‌ഷൻ ഉപയോഗിക്കുന്നു; അത് എങ്ങനെയെങ്കിലും എന്നോട് കൂടുതൽ അടുത്തും വ്യക്തവുമാണ്.

ശരി, അവസാനം ഒരു ചെറിയ ലിറിക്കൽ ഡൈഗ്രഷൻ. സെർച്ച് എഞ്ചിനുകൾക്കായി പേജ് ഡ്യൂപ്ലിക്കേറ്റ് ചെയ്യാതിരിക്കാൻ, ഉദാഹരണത്തിന്, പേജ് കൂടാതെ പേജ്=1 ഉപയോഗിച്ച്, പേജിന്റെ ഹെഡ് സെക്ഷനിൽ കാനോനിക്കൽ url വ്യക്തമാക്കാൻ ഞാൻ ശുപാർശ ചെയ്യുന്നു. ഇത് ഇതുപോലെ കാണപ്പെടും:

...