در این بخش اپراتورهای منطقی و همچنین چند تابع رشته ای را معرفی خواهیم کرد. یک توضیح قبل از شروع: همانطور که جلسه قبل گفتم برای PHP، انواع داده مهم نیست. این به این معنی نیست که PHP اصلا نوع داده ندارد. PHP از نوع داده های زیر استفاده می کند: Float، Integer، String، double، array، Boolean و … اما نیازی به استفاده از این نوع متغیرها را در طراحی وب ندارید. معرفی اپراتورهای منطقی: اپراتورهای منطقی در تمام مکانهایی که با متغیرهای Boolean سروکار دارید می توانند استفاده شوند. بدیهی است که پاسخ نیز یک پاسخ Boolean خواهد بود. لیست کامل اپراتورهای Boolean در زیر آمده است: مثال: Name Result $a and $b And TRUE if both $a and $b are TRUE. $a or $b Or TRUE if either $a or $b is TRUE. $a xor $b Xor TRUE if either $a or $b is TRUE, but not both. ! $a Not TRUE if $a is not TRUE. $a && $b And TRUE if both $a and $b are TRUE. $a || $b Or TRUE if either $a or $b is TRUE. چند تابع رشته ای جالب: شاید بد نباشد که چند تابع که عملیات رشته ها (strings) را بر عهده دارند، برایتان معرفی کنم: [TABLE="width: 500, align: center"] [TR] [TD] الف) string substr ( string string, int start [, int length])[/TD] [/TR] [/TABLE] این تابع بخشی از یک رشته را بر می گرداند. آرگومان اول رشته ای است که عملیات بر روی آن انجام می گردد. آرگومان دوم موقعیت کاراکتری است که عملیات از آن آغاز می گردد. آرگومان سوم تعداد کاراکترهایی است که از شروع باید مورد بررسی قرار گیرد. مثالهای زیر از PHP Manual انتخاب شده اند. به آنها توجه کنید: [TABLE="width: 500, align: center"] [TR] [TD] <?php $rest = substr(”abcdef”, 1); // returns “bcdef” $rest = substr(”abcdef”, 1, 3); // returns “bcd” $rest = substr(”abcdef”, 0, 4); // returns “abcd” $rest = substr(”abcdef”, 0, 8); // returns “abcdef” // Accessing via curly braces is another option $string = ‘abcdef’; echo $string{0}; // returns a echo $string{3}; // returns d $rest = substr(”abcdef”, -1); // returns “f” $rest = substr(”abcdef”, -2); // returns “ef” $rest = substr(”abcdef”, -3, 1); // returns “d” $rest = substr(”abcdef”, 0, -1); // returns “abcde” $rest = substr(”abcdef”, 2, -1); // returns “cde” $rest = substr(”abcdef”, 4, -4); // returns “” $rest = substr(”abcdef”, -3, -1); // returns “de” ?> [/TD] [/TR] [/TABLE] [TABLE="width: 500, align: center"] [TR] [TD] ب) int substr_count ( string haystack, string needle )[/TD] [/TR] [/TABLE] تعداد تکرار یک string را در یک string دیگر شمارش می کند. آرگومان اول، رشته مرجع و آرگومان دوم، رشته جستجو شونده است. نتیجه تابع یک عدد است. به مثال زیر توجه کنید: [TABLE="width: 500, align: center"] [TR] [TD] <?php echo substr_count(”This is a test”, “is”); // prints out 2 ?>[/TD] [/TR] [/TABLE] [TABLE="width: 500, align: center"] [TR] [TD] ج) string substr_replace ( string string, string replacement, int start ,[ int length ])[/TD] [/TR] [/TABLE] این تابع می تواند یک رشته را جایگزین یک رشته دیگر نماید. آرگومان اول رشته مرجع، آرگومان دوم رشته جایگزین، آرگومان سوم شروع جایگزینی و آرگومان آخر شماره کاراکتر انتهایی است. به مثال زیر توجه کنید: [TABLE="width: 500, align: center"] [TR] [TD] <?php $var = ‘ABCDEFGH:/MNRPQR/’; echo “Original: $var<hr />n”; /* These two examples replace all of $var with ‘bob’. */ echo substr_replace($var, ‘bob’, 0) . “<br />n”; echo substr_replace($var, ‘bob’, 0, strlen($var)) . “<br />n”; /* Insert ‘bob’ right at the beginning of $var. */ echo substr_replace($var, ‘bob’, 0, 0) . “<br />n”; /* These next two replace ‘MNRPQR’ in $var with ‘bob’. */ echo substr_replace($var, ‘bob’, 10, -1) . “<br />n”; echo substr_replace($var, ‘bob’, -7, -1) . “<br />n”; /* Delete ‘MNRPQR’ from $var. */ echo substr_replace($var, ”, 10, -1) . “<br />n”; ?>[/TD] [/TR] [/TABLE] [TABLE="width: 500, align: center"] [TR] [TD] د) int strlen ( string str)[/TD] [/TR] [/TABLE] طول متغیر را بر می گرداند. به مثال زیر توجه کنید: [TABLE="width: 500, align: center"] [TR] [TD] <?php $str = ‘abcdef’; echo strlen($str); // 6 $str = ‘ ab cd ‘; echo strlen($str); // 7 ?>[/TD] [/TR] [/TABLE] موفق باشید.