View Single Post
ישן 10-05-07, 15:49   # 4
SDF
חבר בקהילה
 
מיני פרופיל
תאריך הצטרפות: Sep 2006
מיקום: Negev
הודעות: 270

SDF לא מחובר  

ציטוט:
נכתב במקור על ידי RS324 צפה בהודעה
4.
2. משתמש ב === 3 פעמים של שווה אומר שווה ובעל אותו ערך, במקרה כזה A לא שווה ל a
1
מה אתה קשור?

האופרטור == מבטא שווין בערך
האופרטור === מבטא שווין בערך ובטיפוס נתונים.

כלומר:

קוד:
SDF@sun:~> php
<?php
$a = 1; // i am a numeric, prolly integer
$b = '1'; // i am a char
if ($a === $b) echo "true\n"; else echo "false\n";
?>
false
SDF@sun:~>
שים לב, לשני המשתים ערך שווה כביכול, אבל הם מטיפוסי נתונים שונים, לכן התנאי לא מתקיים

במידה והיינו משתמשים ב== הינו מקלבים אמת:

קוד:
SDF@sun:~> php
<?php
$a = 1; // i am a numeric, prolly integer
$b = '1'; // i am a char
if ($a == $b) echo "true\n"; else echo "false\n";
?>
true
SDF@sun:~>
ובקשר למה שאמרת, מחרוזת טקסט לעולם לא יהיו שוות אם הcase של התו שונה.
כלומר:

קוד:
<?php
$a = "hello"; // lower case
$b = 'HeLlo'; // wierd case ;)
if ($a == $b) echo "true\n"; else echo "false\n";
?>
false
על מנת להחזיר אמת בהשוואה הזאת, אנחנו צריכים להפוך את 2 המחרוזות לאותו case,
ע"י שימוש בstrtolower או strtoupper על שתי המחרוזות.


קוד:
SDF@sun:~> php
<?php
$a = "hello"; // lower case
$b = 'HeLlo'; // wierd case ;)
if (strtolower($a) == strtolower($b)) echo "true\n"; else echo "false\n";
?>
true
SDF@sun:~>
  Reply With Quote