ಇಂಟ್‌ಗಾಗಿ Php ಮೌಲ್ಯವನ್ನು ಪರಿಶೀಲಿಸಲಾಗುತ್ತಿದೆ. ಸಂಖ್ಯೆಗಾಗಿ ನಿಯಮಿತ ಅಭಿವ್ಯಕ್ತಿ ಪರಿಶೀಲನೆ. PHP ಯಲ್ಲಿ ವೇರಿಯೇಬಲ್ ಪೂರ್ಣಾಂಕವಾಗಿದೆಯೇ ಎಂದು ಪರಿಶೀಲಿಸಲಾಗುತ್ತಿದೆ

ಲೇಖಕರಿಂದ: ಶುಭಾಶಯಗಳು, ಸ್ನೇಹಿತರು. ಈ ಲೇಖನದಲ್ಲಿ, ನಾವು ನೇರವಾಗಿ ನಿಯಮಿತ ಅಭಿವ್ಯಕ್ತಿಗಳ ಸಾಮರ್ಥ್ಯಗಳನ್ನು ಅಧ್ಯಯನ ಮಾಡಲು ಪ್ರಾರಂಭಿಸುತ್ತೇವೆ, PHP ಯಲ್ಲಿನ preg_match () ಕಾರ್ಯವನ್ನು ಪರಿಚಯಿಸುತ್ತೇವೆ ಮತ್ತು ಸಂಖ್ಯೆಯನ್ನು ಪರಿಶೀಲಿಸಲು ಮೊದಲ ನಿಯಮಿತ ಅಭಿವ್ಯಕ್ತಿಯನ್ನು ಸಹ ರಚಿಸುತ್ತೇವೆ.

ಪಠ್ಯದೊಂದಿಗೆ ಕೆಲಸ ಮಾಡಲು ನಿಯಮಿತ ಅಭಿವ್ಯಕ್ತಿಗಳು ಅತ್ಯಂತ ಶಕ್ತಿಯುತವಾದ ಸಾಧನವಾಗಿದೆ ಎಂಬ ಅಂಶದೊಂದಿಗೆ ಈ ಲೇಖನವನ್ನು ಪ್ರಾರಂಭಿಸುವುದು ಬಹುಶಃ ಯೋಗ್ಯವಾಗಿದೆ. ನೀವು ಈಗಾಗಲೇ ತಿಳಿದಿರುವಂತೆ, ನಿಯಮಿತ ಅಭಿವ್ಯಕ್ತಿಗಳ ಸಹಾಯದಿಂದ ನಾವು ಪಠ್ಯದ ಒಂದು ಶ್ರೇಣಿಯಲ್ಲಿ ಅಕ್ಷರಶಃ ಏನನ್ನೂ ಕಾಣಬಹುದು. ಆದಾಗ್ಯೂ, ಅಂತಹ ಅಧಿಕಾರವನ್ನು ದುರುಪಯೋಗಪಡಿಸಿಕೊಳ್ಳಬಾರದು. ಸ್ಟ್ರಿಂಗ್‌ಗಳು, ಪ್ರಕಾರಗಳು ಮತ್ತು ಮುಂತಾದವುಗಳೊಂದಿಗೆ ಕೆಲಸ ಮಾಡಲು PHP ನಮಗೆ ಬಹಳಷ್ಟು ಕಾರ್ಯಗಳನ್ನು ನೀಡುತ್ತದೆ ಎಂಬುದನ್ನು ಮರೆಯಬೇಡಿ, ಇದು ಸ್ಟ್ರಿಂಗ್‌ನಲ್ಲಿ ನಿರ್ದಿಷ್ಟ ಅಕ್ಷರ ಅಥವಾ ಸಬ್‌ಸ್ಟ್ರಿಂಗ್‌ನ ಉಪಸ್ಥಿತಿಯನ್ನು ಪರಿಶೀಲಿಸಲು, ಹೇಳಲು ನಮಗೆ ಅನುಮತಿಸುತ್ತದೆ.

ಆದ್ದರಿಂದ, ನಿಯಮಿತ ಅಭಿವ್ಯಕ್ತಿಗಳನ್ನು ಬಳಸದೆ ಸಮಸ್ಯೆಯನ್ನು ಪರಿಹರಿಸಲು ಸಾಧ್ಯವಾದರೆ, ಈ ಅವಕಾಶವನ್ನು ಬಳಸುವುದು ಯೋಗ್ಯವಾಗಿದೆ, ಏಕೆಂದರೆ ನಿಯಮಿತ ಅಭಿವ್ಯಕ್ತಿಗಳೊಂದಿಗೆ ಕೆಲಸ ಮಾಡುವ ಕಾರ್ಯಗಳು ಸಾಮಾನ್ಯವಾಗಿ ಹೆಚ್ಚು ಸಂಪನ್ಮೂಲ-ತೀವ್ರವಾಗಿರುತ್ತದೆ. ಈ ಸಂದರ್ಭದಲ್ಲಿ, ನಿಯಮಿತ ಅಭಿವ್ಯಕ್ತಿಗಳಿಲ್ಲದೆ ಸಮಸ್ಯೆಯನ್ನು ಪರಿಹರಿಸಬಹುದು. ಉದಾಹರಣೆಗೆ, ctype_digit() ಕಾರ್ಯವನ್ನು ಬಳಸಿಕೊಂಡು ಸ್ಟ್ರಿಂಗ್‌ನಲ್ಲಿರುವ ಎಲ್ಲಾ ಅಕ್ಷರಗಳು ಸಂಖ್ಯಾತ್ಮಕವಾಗಿದೆಯೇ ಎಂದು ನೀವು ಪರಿಶೀಲಿಸಬಹುದು.

ಆದರೆ ಲೇಖನದಲ್ಲಿ ನೀಡಲಾದ ಕಾರ್ಯದ ಪರಿಸ್ಥಿತಿಗಳ ಪ್ರಕಾರ, ನಾವು ನಿಯಮಿತ ಅಭಿವ್ಯಕ್ತಿಗಳನ್ನು ಬಳಸಬೇಕಾಗುತ್ತದೆ, ಆದ್ದರಿಂದ ನಾವು preg_match () ಕಾರ್ಯವನ್ನು ಬಳಸಿಕೊಂಡು ಕಾರ್ಯವನ್ನು ಪರಿಹರಿಸುತ್ತೇವೆ. ಈ ಕಾರ್ಯವು ನಿಯಮಿತ ಅಭಿವ್ಯಕ್ತಿ ಮಾದರಿಯ ವಿರುದ್ಧ ಸ್ಟ್ರಿಂಗ್ ಅನ್ನು ಪರಿಶೀಲಿಸುತ್ತದೆ. ಕಾರ್ಯವು 5 ನಿಯತಾಂಕಗಳನ್ನು ಹೊಂದಿದೆ, ಅದರಲ್ಲಿ ಪ್ರಾಯೋಗಿಕವಾಗಿ ಮೊದಲ 2 ಅನ್ನು ಯಾವಾಗಲೂ ಬಳಸಲಾಗುತ್ತದೆ.

ಕಾರ್ಯದ ಮೊದಲ ಪ್ಯಾರಾಮೀಟರ್ ನಿಯಮಿತ ಅಭಿವ್ಯಕ್ತಿ ಮಾದರಿಯಾಗಿರುತ್ತದೆ. ಎರಡನೆಯದು ಸ್ಟ್ರಿಂಗ್ ಅನ್ನು ಪರಿಶೀಲಿಸಲಾಗುತ್ತಿದೆ. ಕೆಲವೊಮ್ಮೆ ನಮಗೆ ಮೂರನೇ ಪ್ಯಾರಾಮೀಟರ್ ಬೇಕಾಗಬಹುದು, ನಾವು ಹುಡುಕಾಟ ಫಲಿತಾಂಶಗಳೊಂದಿಗೆ ಸರಣಿಯನ್ನು ಪಡೆಯುತ್ತೇವೆ ಎಂಬುದನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸುವುದು.

ನಮ್ಮ ಮೊದಲ ಟೆಂಪ್ಲೇಟ್ ಅನ್ನು ರಚಿಸೋಣ. ಇದು ಈ ರೀತಿ ಕಾಣಿಸಬಹುದು:

$ಮಾದರಿ = "#^+$#";

$ಮಾದರಿ = "#^+$#" ;

ಮೊದಲ ನೋಟದಲ್ಲಿ ಇದು ಗೊಂದಲಮಯವಾಗಿ ಮತ್ತು ಸ್ವಲ್ಪ ಭಯಾನಕವಾಗಿ ಕಾಣಿಸಬಹುದು. ಆದಾಗ್ಯೂ, ಇಲ್ಲಿ ಭಯಾನಕ ಏನೂ ಇಲ್ಲ, ಈಗ ನಾವು ಅದನ್ನು ನೋಡುತ್ತೇವೆ. ನಿಯಮಿತ ಅಭಿವ್ಯಕ್ತಿಗಳು ವಿಶೇಷ ಅಕ್ಷರಗಳನ್ನು ಸಕ್ರಿಯವಾಗಿ ಬಳಸುತ್ತವೆ ಎಂಬ ಅಂಶದೊಂದಿಗೆ ಪ್ರಾರಂಭಿಸೋಣ. ಮೆಟಾಕ್ಯಾರೆಕ್ಟರ್ಸ್. ನಮ್ಮ ಟೆಂಪ್ಲೇಟ್‌ನಲ್ಲಿ ಅವುಗಳಲ್ಲಿ ಬಹಳಷ್ಟು ಇವೆ:

^ — ಒಂದು ಸಾಲಿನ ಆರಂಭಕ್ಕೆ ಮೆಟಾಕ್ಯಾರೆಕ್ಟರ್

$ - ಎಂಡ್-ಆಫ್-ಲೈನ್ ಮೆಟಾಕ್ಯಾರೆಕ್ಟರ್

- ಅಕ್ಷರ ವರ್ಗದ ಮೆಟಾಕ್ಯಾರೆಕ್ಟರ್‌ಗಳು

+ ಎಂಬುದು ಕ್ವಾಂಟಿಫೈಯರ್ ಆಗಿದ್ದು, ಇದು ಕ್ವಾಂಟಿಫೈಯರ್ ಅನ್ನು ಅನುಸರಿಸುವ ಅಕ್ಷರ ಅಥವಾ ಅಕ್ಷರಗಳ ಗುಂಪಿನ 1 ಅಥವಾ ಹೆಚ್ಚಿನ ಘಟನೆಗಳನ್ನು ಸೂಚಿಸುತ್ತದೆ.

ಹಾಗಾದರೆ, ನಮಗೆ ಏನು ಸಿಕ್ಕಿತು? ಸಂಯೋಜಿತ ನಿಯಮಿತ ಅಭಿವ್ಯಕ್ತಿ ಮಾದರಿಯನ್ನು ನೀವು ಹೇಗೆ ಓದಬಹುದು? ಮತ್ತು ಇದು ಈ ರೀತಿ ಓದುತ್ತದೆ:

ಸಂಪೂರ್ಣ ಸ್ಟ್ರಿಂಗ್ ಅನ್ನು ಮೊದಲಿನಿಂದ ಕೊನೆಯವರೆಗೆ ಮೌಲ್ಯೀಕರಿಸಲಾಗುತ್ತದೆ (ಮೆಟಾಕ್ಯಾರೆಕ್ಟರ್ಸ್ ^$)

ಸಾಲು 0 ರಿಂದ 9 ರವರೆಗಿನ ಸಂಖ್ಯೆಗಳನ್ನು ಮಾತ್ರ ಹೊಂದಿರಬಹುದು ()

ಸಾಲು ಕನಿಷ್ಠ ಒಂದು ಅಂಕಿ (+) ಹೊಂದಿರಬೇಕು

ಈಗ ಕ್ರಿಯೆಯಲ್ಲಿರುವ ಟೆಂಪ್ಲೇಟ್ ಅನ್ನು ಪರಿಶೀಲಿಸೋಣ.

ನೀವು ನೋಡುವಂತೆ, ನಿಯಮಿತ ಅಭಿವ್ಯಕ್ತಿ ಸರಿಯಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ. ಸಂಪೂರ್ಣವಾಗಿ ಸಂಖ್ಯೆಗಳನ್ನು ಒಳಗೊಂಡಿರುವ ಸಾಲುಗಳು ಮಾತ್ರ ಅದರ ಅಡಿಯಲ್ಲಿ ಹೊಂದಿಕೊಳ್ಳುತ್ತವೆ. ಅಂದಹಾಗೆ, ನೀವು regexr.com ಸೈಟ್‌ನಲ್ಲಿ ಸಹ ಪರೀಕ್ಷಿಸುತ್ತಿದ್ದರೆ ಮತ್ತು ಪಠ್ಯದಲ್ಲಿ ಒಂದಕ್ಕಿಂತ ಹೆಚ್ಚು ಸಾಲುಗಳಿದ್ದರೆ, ನೀವು ಟೆಂಪ್ಲೇಟ್‌ಗಾಗಿ ವಿಶೇಷ ಫ್ಲ್ಯಾಗ್ ಅನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸಬೇಕಾಗುತ್ತದೆ - m, ಇದು ಟೆಂಪ್ಲೇಟ್ ಅನ್ನು ಮಲ್ಟಿ-ನೊಂದಿಗೆ ಕೆಲಸ ಮಾಡಲು ಅನುಮತಿಸುತ್ತದೆ. ಸಾಲಿನ ಪಠ್ಯ. ನೀವು ಮೇಲಿನ ಬಲ ಮೂಲೆಯಲ್ಲಿ, ಮೆನು ಐಟಂ ಫ್ಲ್ಯಾಗ್‌ಗಳಲ್ಲಿ ಇದನ್ನು ಮಾಡಬಹುದು.

ನಾವು ಸಾಲಿನ ಮೆಟಾಕ್ಯಾರೆಕ್ಟರ್‌ಗಳ ಪ್ರಾರಂಭ ಮತ್ತು/ಅಥವಾ ಅಂತ್ಯವನ್ನು ತೆಗೆದುಹಾಕಿದರೆ ಏನಾಗುತ್ತದೆ ಎಂಬುದನ್ನು ಗಮನಿಸಿ:

ಈಗ ನಾವು ಸಂಪೂರ್ಣ ಸಾಲನ್ನು ಮೌಲ್ಯೀಕರಿಸುತ್ತಿಲ್ಲ, ಆದರೆ ಸಾಲಿನಲ್ಲಿ ಏನನ್ನಾದರೂ ಹುಡುಕುತ್ತಿದ್ದೇವೆ. ಪರಿಣಾಮವಾಗಿ, ಮೂರನೇ ಸಾಲಿನಲ್ಲಿ ಸಂಖ್ಯೆಗಳು ಕಂಡುಬಂದಿವೆ, ಆದರೂ ಸಮಸ್ಯೆಯ ಪರಿಸ್ಥಿತಿಗಳ ಪ್ರಕಾರ ಈ ಸಾಲು ನಮಗೆ ಸರಿಹೊಂದುವುದಿಲ್ಲ. ಈಗ ನಾವು preg_match ಕಾರ್ಯವನ್ನು ಬಳಸೋಣ ಮತ್ತು ಪ್ರತಿಯೊಂದು ಸಾಲುಗಳನ್ನು ಪ್ರತ್ಯೇಕವಾಗಿ ಪರಿಶೀಲಿಸೋಣ:

$arr = ["123", "ಪರೀಕ್ಷೆ", "45ew45", "456"]; $ಮಾದರಿ = "#^+$#"; foreach($arr as $item)( if(preg_match($pattern, $item))( echo "

$ಐಟಂ ಸ್ಟ್ರಿಂಗ್ ಸಂಖ್ಯೆಗಳನ್ನು ಮಾತ್ರ ಒಳಗೊಂಡಿದೆ

"; )ಬೇರೆ (ಪ್ರತಿಧ್ವನಿ"

$ಐಟಂ ಲೈನ್ ಸೂಕ್ತವಲ್ಲ

"; } }

$arr = [ "123" , "ಪರೀಕ್ಷೆ" , "45ew45" , "456" ] ;

$ಮಾದರಿ = "#^+$#" ;

foreach ($arr ನಂತೆ $ಐಟಂ) (

ಪ್ರಸ್ತುತ, ಹೊಸ ವಿಭಾಗವನ್ನು ಪ್ರಾರಂಭಿಸಲು ಸೈಟ್ನಲ್ಲಿ ಸಕ್ರಿಯ ಕೆಲಸ ನಡೆಯುತ್ತಿದೆ. ಮತ್ತು ಅದಕ್ಕಾಗಿ ಕೆಲವು ಸ್ಕ್ರಿಪ್ಟ್‌ಗಳನ್ನು ಬರೆಯುವಾಗ, ಸಂಖ್ಯೆಗಳಿಗಾಗಿ ಅಸ್ಥಿರಗಳನ್ನು ಪರಿಶೀಲಿಸುವುದು ಅಗತ್ಯವಾಯಿತು. ಮತ್ತು ಕೇವಲ ಒಂದು ಸಂಖ್ಯೆ ಅಲ್ಲ (ಎಲ್ಲಾ ನಂತರ, 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), $ಹೆಸರು = ಪ್ಯಾರಾಮೀಟರ್‌ನ ಹೆಸರು, // ಕಾರ್ಯವು ಪ್ಯಾರಾಮೀಟರ್‌ನ ಮೌಲ್ಯವನ್ನು ಹಿಂದಿರುಗಿಸುತ್ತದೆ, ಅಥವಾ $ಡೀಫಾಲ್ಟ್ ಪ್ಯಾರಾಮೀಟರ್ ಕಾಣೆಯಾಗಿದ್ದಲ್ಲಿ ಅಥವಾ ತಪ್ಪಾದ ಫಂಕ್ಷನ್ get_param_nat($ arr, $name, $default=null) (! isset($arr[$name])) $default ಹಿಂತಿರುಗಿಸಿದರೆ; // ಅತ್ಯಂತ ಸರಳ ರೀತಿಯಲ್ಲಿ ಪರಿಶೀಲಿಸಿ, ಪರಿವರ್ತಿಸಿ ಒಂದು ಸಂಖ್ಯೆಗೆ ಪ್ಯಾರಾಮೀಟರ್, ನಂತರ ಸ್ಟ್ರಿಂಗ್‌ಗೆ ಹಿಂತಿರುಗಿ // ಎಲ್ಲವೂ ಉತ್ತಮವಾಗಿದ್ದರೆ, ಫಲಿತಾಂಶದ ಸ್ಟ್ರಿಂಗ್ $val = $arr[$name] ಪ್ಯಾರಾಮೀಟರ್‌ನ ಮೂಲ ಮೌಲ್ಯಕ್ಕೆ ಹೊಂದಿಕೆಯಾಗಬೇಕು // (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 === ತಪ್ಪು) $default ಹಿಂತಿರುಗಿಸಿದರೆ // ಉತ್ಪನ್ನದ ನಿಯತಾಂಕವನ್ನು ಪರಿಶೀಲಿಸಿ (($product = get_param_nat(INPUT_GET) , "ಉತ್ಪನ್ನ")) === ಶೂನ್ಯ) ಡೈ("ಉತ್ಪನ್ನ ಕಂಡುಬಂದಿಲ್ಲ"); // ಪುಟ ಸಂಖ್ಯೆಯನ್ನು ಪಡೆಯಿರಿ $page = get_param_nat(INPUT_GET, "ಪುಟ", 1);

get_param_nat ಕಾರ್ಯದ ಎರಡು ರೂಪಾಂತರಗಳ ಕಾರ್ಯಾಚರಣೆಯ ವೇಗವು ಬಹುತೇಕ ಒಂದೇ ಆಗಿರುತ್ತದೆ ಎಂದು ಸ್ವಲ್ಪ ಪರೀಕ್ಷೆಯು ತೋರಿಸಿದೆ ಮತ್ತು ಪ್ಯಾರಾಮೀಟರ್ ಅನುಪಸ್ಥಿತಿಯಲ್ಲಿ, ಉದಾಹರಣೆಗೆ, ಪುಟವನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸಲಾಗಿಲ್ಲ, ಮೊದಲ ರೂಪಾಂತರವು ಸ್ವಲ್ಪಮಟ್ಟಿಗೆ ವೇಗವಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ.

ಆದ್ದರಿಂದ ಯಾವುದನ್ನು ಬಳಸಬೇಕೆಂದು ನಿರ್ಧರಿಸುವುದು ನಿಮಗೆ ಬಿಟ್ಟದ್ದು. ನಾನು ವೈಯಕ್ತಿಕವಾಗಿ ಮೊದಲ ಕಾರ್ಯವನ್ನು ಬಳಸುತ್ತೇನೆ; ಅದು ನನಗೆ ಹತ್ತಿರ ಮತ್ತು ಸ್ಪಷ್ಟವಾಗಿದೆ.

ಸರಿ, ಕೊನೆಯಲ್ಲಿ ಒಂದು ಸಣ್ಣ ಸಾಹಿತ್ಯದ ವಿಷಯಾಂತರ. ಸರ್ಚ್ ಇಂಜಿನ್‌ಗಳಿಗಾಗಿ ಪುಟವನ್ನು ನಕಲು ಮಾಡುವುದನ್ನು ತಪ್ಪಿಸಲು, ಉದಾಹರಣೆಗೆ, ಪುಟವಿಲ್ಲದೆ ಮತ್ತು ಪುಟ=1 ನೊಂದಿಗೆ, ಪುಟದ ಮುಖ್ಯ ವಿಭಾಗದಲ್ಲಿ ಅಂಗೀಕೃತ url ಅನ್ನು ಸೂಚಿಸಲು ನಾನು ಶಿಫಾರಸು ಮಾಡುತ್ತೇವೆ. ಇದು ಈ ರೀತಿ ಕಾಣುತ್ತದೆ:

...