![]() |
בדיקה האם האותיות גדולות בPHP
שלום :)
רציתי לדעת איך אני יכול לעשות תנאי שיבדוק אם המחרוזת שלי היא עם אותיות גדולות או להיפך? אני רוצה לדעת למשל אם "i have a dog" המחרוזת היא משפט של אותיות גדולות אם לא אז אני הופך אותה לאותיות גדולות עם strtoupper תודה מקווה שהבנתם :) |
אתה יכול להשתמש ב ctype_upper, אתה יכול להשוות את הערך המקורי לאחר שבוצע עליו strtoupper, ואתה יכול לעשות strtoupper מלכתחילה בלי שום בדיקה אם בכל מקרה אתה רוצה שהכל יהיה באותיות גדולות.
|
PHP קוד:
|
הבדיקה שלך לא נכונה,
הוא צריך שזה לא יהיה שווה, אם זה שווה משמע שהכל כבר UPPERCASE מלכתחילה. בכל מקרה כבר הבאתי לו את שלושת הדרכים הסטנדרטיות לעשות את זה, כמו שציינתי גם לדעתי אם הוא בכל מקרה הולך להפוך את זה ל- UC התנאי מיותר. |
הוא ביקש לדעת אם במחרוזת קיימות אותיות גדולות לא כל המחרוזת באותיות גדולות.
אפשר לעשות משהו כזה PHP קוד:
|
ציטוט:
-------------- בלי להסתבך יותר מדי, שימוש פשוט בregex (דרך אגב נתנאל, אפשר ורצוי לעצור את הלולאה בבדיקה) PHP קוד:
|
למה לסבך את העניינים? אפשר לעשות את זה עם preg_match הכי פשוט והכי יעיל.
PHP קוד:
|
לא כל כך מהותי בבדיקה כזו לעצור את הלולאה , בכל מקרה הפתרון שלי וגם עם REGEX שניהם יעבדו אותו דבר.
ד"א בפתרון שלי הוא יכול לקבל את מספר המופעים של אות גדולה שאולי זה יכול לשמש אותו בפעולה שהוא עושה. |
למה לא? מה הטעם להמשיך אותו, אם הסטרינג הוא עם 1500 תווים ובתו השני נמצאה אות גדולה, הוא סתם יעבור את כל האותיות ..
כנ"ל, גם בREGEX ,זה השימוש ב preg match all |
בואו נעשה כאן קצת סדר..
חיים: הבדיקה שלך לא נכונה, לא אחזור שוב על הסיבה, אתה יכול לבדוק בעצמך. נתנאל: זה לא משנה מה הוא ביקש, מה שמשנה זה להבין מה הוא רוצה לעשות. בן אדם שלא מבין בתחום מסויים יכול לבקש משהו בצורה ממש לא נכונה או לפחות לא ממש מובנת ואתה בתור בן אדם שכן מבין צריך לכוון אותו להוציא ממנו מה בדיוק הוא רוצה. בקשר לקוד שהבאת - אין סיבה שלא לעצור את הלולאה, לפי מה שהוא ציין הוא לא רוצה לדעת כמה תווים כאלו יש והמשך הלולאה תגרום לבזבוז משאבים וזמן ריצה לשווא. שניר: בדיקה באמצעות REGEX היא הכי פשוטה והכי יעילה? אז אולי פשוטה, אפשר להבין כאשר מדובר על הבדיקה הספציפית הזאת. אבל איך בדיוק יעילה? משפטים רגולריים זה דבר שרצוי להימנע ממנו כל קיימת תחלופה אחרת טובה יותר (ובמקרה הזה בהחלט סביר שקיימת). לפני שממשיכים לקפוץ כאן בואו נחכה לתגובה של פותח האשכול ונבין מה בדיוק הוא רוצה לעשות. לצורך העניין אם הוא מצפה לקלט שכולו באותיות גדולות ואם הוא לא כזה הוא רוצה להפוך אותו לכזה, שום דבר ממה שהבאתם לא הכרחי ועדיף להריץ strtoupper מלכתחילה וזהו. |
כל הזמנים הם GMT +2. הזמן כעת הוא 06:45. |
מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ