מחשביםתכנות

עיסוק PHP: השוואה מחרוזת

PHP מתמקדת בטיפול מידע טוב. התחביר של השפה מיוצג סט פונקציונלי מלא של פונקציות השוואה, עיבוד מייתר, מפעילי השוואה.

כל אלגוריתם - רצף של בחירות ופעולות. אבל לפני שאתה עושה בחירה, אתה צריך משהו כדי להשוות אותו עם משהו. קו - מנגנון בקרת אלגוריתם המרווח, יעיל והמעשי ביותר. קו - גרסה של מצגת נתונים. נתונים - זהו הנושא העיקרי של "טיפול" של כל אלגוריתם.

היגיון רגיל "השוואה-פעולה"

באופן כללי, לשון הקלדה דינמית עושה שום הבדלים בנתונים, כגון קו השוואת PHP והמספר אינו שונה בהרבה. מספר - הוא גם מחרוזת, כאשר הוא מכיל רק מספרים, נקודה ואין תו בודד שאינו משמש כדי לייצג מספרים בכל צורה שהיא (סימון מתמטי).

אם מספר kontenkatsii ממזג אוטומטי עם הקו, בלי לשאול שאלות ובלי שגיאות נסתרות, גם אם gettype (פונקציה) נותנת את "שלמה" או "כפולה".

עם זאת, יש הבדל בין שימוש is_int () ו is_numeric (). הראשון נותן את האמת, רק כאשר הפרמטר הוא מספר שלם, שני, כאשר כל מספר או מחרוזת מספרית (סוג משתנה היא "מחרוזת", אבל כולל את כל הסימון המתמטי סופק).

זוהי דוגמא פשוטה - דוגמא טובה לאופן מפעיל השוואת PHP מחרוזת ( "==" "===" ... "="!) יכול להציג הפתעות רבות. משתנה יכול לשנות את הסוג שלהם, הם לא תמיד מספרים, אבל כמעט תמיד הם יכולים להוביל את הקו. במקרה קיצוני - זה יהיה מחרוזת ריקה.

בהתבסס על האמור לעיל, פונקצית השוואת PHP מחרוזת הוא פופולרית ביותר. מה בדיוק לבחור, להחליט היזם. המון אפשרויות זמינות עד ביטויים רגולריים.

הגבולות של זמין פונקציונלי

PHP-השוואה של שתי שורות היא טובה "לעשות" strpos פונקציה () - הזולה, המאמין לבין האפשרות מעשית. אם התוצאה של מספר פונקציה, אז ברור מחרוזת אחת שווה למשנהו או חלק אחד למשנהו.

ההפך קיצוני, אבל גם בהחלט הגישה הנכונה - שימוש בביטויים רגילים.

אם הפונקציה $ cResult = scCheckFileName ($ CSTR) נותן "אמיתי", אז הקו הוא השם של הקובץ vordovsky. הוא יצטרך רק אחד אפשרות של התרחבות ".docx" ואין תווים בשם: רק אותיות, ספרות והתווים '_', '-'.

הפונקציה ניתן להמיר בקלות סוגים אחרים של קבצים: $ cPtr = "/^([a-zA-Z...0-9\-\_]{4,239})\.(html|js|css|png|jpg | docx | txt) {1} $ / u". גרסה זו מרחיבה את הקו להורדת טווח הסריקה (לדוגמא, השוואת PHP מחרוזת מוחלת "כדי להעלות קבצים לשרת, עם סיכוי של שגיאת קלט") עבור HTML, JS, CSS, ...

שימוש strpos () ו preg_match () - לקיצוניות. הם אינם קשורים ישירות לנושא של תקופת ההשוואה. אבל השאלה של האלגוריתם - זה עניין של שימוש בשילוב של סגנון, שימוש כל ההזדמנויות כדי להשיג תוצאה אמינה ונכונה.

PHP פונקציונלית: השוואה מחרוזת

מחרוזות בשפה לעומת ארסנל - פונקצית ההשוואה טהורה, לא רק, אלא גם שילוב של חיפוש או תחליף ישירות. לא תמיד לפעול חייב לחפוף עם ההשוואה, מאז שהאחרון אינו בהכרח להוביל שינוי כלשהו בשורה. לעתים קרובות אתה צריך לבחור אחד או הסניף השני של האלגוריתם.

PHP גרסה הרגילה: מבצעת strcmp int פונקצית השוואת מחרוזת (S1, S2).

התוצאה של הפונקציה:

  • 0 - הקו שווה;
  • -1 - המחרוזת הראשונה היא פחות מאשר השני;
  • 1 - הראשון יותר בשורה השנייה.

בפועל, זה אומר כי חלק מן השורה הראשונה והשני, שממנו פונקצית PHP (שורות השוואה) מחליטה. גרסה מצומצמת יותר של strpos (), כי במקרה האחרון אפשר לדעת את המיקום של הכניסה.

strcmp () פונקציה - רגיש. אם אתה רוצה להשוות את המחרוזת-רגישות, PHP מציעה strcasecmp שלה (). התחביר דומה.

בפועל לעתים קרובות נדרש לעבוד לא עם השורה כולה, אלא רק חלק ממנה. עבור קבוצה זו של פונקציות PHP (השוואת מחרוזת) כללה strncmp (S1, S2, N). הפרמטר השלישי מציין לבצע את ההשוואה רק N-בייטים. התוצאה היא strcmp דומה ().

מערכים, מחרוזות ומשווה

אלה כמעט תמיד מיוצגים על ידי מחרוזות. אם ניקח בחשבון את המערכים, חפצים, או מבני נתונים, זה רק גרסאות שונות של שילובים של מבנים מחרוזת פשוטה.

מערכים ושורות מחרוזת יכולים להינתן באופן משלים. טרנספורמציה של המערך לתוך לקרוס פונקציה מחרוזת (מערך, סמל), למשל: margins1 $ = לקרוס ( '', $ style-> getInnerMargin ()); ... האלגוריתם / משתמש ...; Margins2 $ = לקרוס ( "", $ style-> getInnerMargin ()) מאפשר לך למזג את כל מיקום האובייקט במצב מחרוזת.

לאחר מכן תוכל לבצע את ההשוואה מחרוזת PHP, ובזמן: $ הצ'ק = strcmp ($ margins1, $ margins2) ולוודא את האלגוריתם או המשתמש שמשהו השתנה (או שלא). אם אתה מבצע השוואה בדרך הרגילה, תצטרך למיין אלמנטים במערך. זה לוקח זמן רב יותר הוא יותר מסובך.

אובייקטים וקו

אפילו יותר PHP השימוש המרשים (השוואות מחרוזת) יכול להיות מיושם באמצעות רעיונות מונחה עצמים.

הרעיון המודרני של המתקנים עולה כי יש להם תכונות ושיטות. ראשון בדרך כלל מיוצגים על ידי מספרים, מחרוזות, מערכים, וחפצים אחרים. האחרון לעיתים קרובות כוללים טכניקות הקלטה (לשים) בקו ההתאוששות מן השורה (מקבל).

בשונה מערכים, האובייקט עושה את העבודה עם תכונות משלהם אינטראקציה עם אובייקטים אחרים. אובייקט "מוכשר", שבו המאפיינים שלה הם בעלי ערך אמיתי עבור האלגוריתם של התוכנית בכללותה.

רגע זה מספק בסיס והזדמנות להקליט להקליט מחרוזת רק את המידע הדרוש, וגם ההתאוששות של הקו כדי לשחזר את כל המאפיינים עובדים המדינה הרצויה. בדרך כלל, בכל אובייקט יש מידע משמעותי עבודה (זמן). יישום הרעיון הזה מאפשר לך לשמור לא רק זיכרון, שטח דיסק, רשומת הנתונים, אלא גם מאפשר להשוות בין השורות פשוטות ומדויקים יותר אמצעים.

תחביר וסמנטיקה

PHP מפתחת באופן דינמי, ואת הפונקציונליות שלו הוא מבחינת מחרוזות השוואה ומשופר ללא הרף מבחינת הטיפול שלהם. עם זאת, אין מניעה מפתח כדי להזיז את מרכז הכובד בתחום הסמנטיקה.

אין ספק, את הפונקציונליות היא טובה, אבל השימוש בו ניתן להעביר את המשמעות של הקוד חפץ. כאשר האלגוריתם מוצג כמערכת של אינטראקציה בין אובייקטים, זה נראה הרבה יותר טוב מאשר השוואות רצף פעולות ברצף ישיר, בסגנון קלאסי.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 iw.unansea.com. Theme powered by WordPress.