کار با رشته ها در php

آموزش PHP – جلسه سوم
یک توصیح قبل از شروع:
همانطور که جلسه قبل گفتم برای PHP، انواع داده مهم نیست. این به این معنی نیست که PHP اصلا نوع داده ندارد. PHP از نوع داده های زیر استفاده می کند:
Float، Integer، String، double، array، Boolean و ...
اما نیازی به استفاده از این نوع متغیرها را در طراحی وب ندارید. یک توضیح بعد از شروع! بحث این جلسه شاید یک مقدار خسته کننده باشد. امیدوارم زیاد بد و بیرا بهم نگین! به امید خدا از جلسه بعد دستورات شرطی را با هم شروع می کنیم (به این میگن وعده سر خرمن!!!). . اما بحث امروز:
معرفی اپراتورهای منطقی: اپراتورهای منطقی در تمام مکانهایی که با متغیرهای Boolean سروکار دارید می توانند استفاده شوند. بدیهی است که پاسخ نیز یک پاسخ Boolean خواهد بود. لیست کامل اپراتورهای Boolean در زیر آمده است:
Example 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) را بر عهده دارند، برایتان معرفی کنم:
الف) string substr ( string string, int start [, int length])
این تابع بخشی از یک رشته را بر می گرداند. آرگومان اول رشته ای است که عملیات بر روی آن انجام می گردد. آرگومان دوم موقعیت کاراکتری است که عملیات از آن آغاز می گردد. آرگومان سوم تعداد کاراکترهایی است که از شروع باید مورد بررسی قرار گیرد. مثالهای زیر از PHP Manual انتخاب شده اند. به آنها توجه کنید:
$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"
?>

ب) int substr_count ( string haystack, string needle) تعداد تکرار یک string را در یک string دیگر شمارش می کند. آرگومان اول، رشته مرجع و آرگومان دوم، رشته جستجو شونده است. نتیجه تابع یک عدد است. به مثال زیر توجه کنید:
echo substr_count("This is a test", "is"); // prints out 2
?>

ج) string substr_replace ( string string, string replacement, int start [, int length]) این تابع می تواند یک رشته را جایگزین یک رشته دیگر نماید. آرگومان اول رشته مرجع، آرگومان دوم رشته جایگزین، آرگومان سوم شروع جایگزینی و آرگومان آخر شماره کاراکتر انتهایی است. به مثال زیر توجه کنید:
$var = 'ABCDEFGH:/MNRPQR/';
echo "Original: $var
";
/* These two examples replace all of $var with 'bob'. */
echo substr_replace($var, 'bob', 0) . "
";
echo substr_replace($var, 'bob', 0, strlen($var)) . "
";
/* Insert 'bob' right at the beginning of $var. */
echo substr_replace($var, 'bob', 0, 0) . "
";
/* These next two replace 'MNRPQR' in $var with 'bob'. */
echo substr_replace($var, 'bob', 10, -1) . "
";
echo substr_replace($var, 'bob', -7, -1) . "
";
/* Delete 'MNRPQR' from $var. */
echo substr_replace($var, '', 10, -1) . "
";
?>
د) int strlen ( string str) طول متغیر را بر می گرداند. به مثال زیر توجه کنید:
$str = 'abcdef';
echo strlen($str); // 6
$str = ' ab cd ';
echo strlen($str); // 7
?>
سعی خواهیم کرد از جلسه بعد دستورات شرطی را آغاز کنیم تا بتوانیم برنامه نویسی جدی تری را ادامه دهیم.

جلسه دوم آموزش php

آموزش PHP – جلسه دوم
توضیحات برنامه نویس در حین برنامه نویسی (Comments )
مانند تمام زبانهای برنامه نویسی دیگر، می توانید توضیحات خود را برای آسان کردن رجوع های بعدی در PHP داشته باشید. به این منظور می توانید از // یا # برای بازداشتن PHP از انجام پردازش بر روی متن روبروی آن استفاده کنید. اگر می خواهید بیش از یک خط را زیر پوشش Comment خود قرار دهید، آن را در بین علامتهای /* */ قرار دهید.

// This line will not be parsed in PHP
# This line will not be parsed in PHP like the line above
/* Line number1: These 3 lines will not either!
Line number2
Line number3: End of comment */
?>
عملگرهای ریاضی در PHP
عملگرهای ریاضی در PHP طبق جدول زیر می باشند.
مثال نام عملگر
$a + $b جمع +
$a - $b تفریق -
$a * $b ضرب *
$a / $b تقسیم /
$a % $b باقیمانده %

توجه: همانند زبانهایی مانند C در اینجا هم می توانیم از عملگرهای پیشوندی مانند $a+=$b یا $a++ استفاده نماییم.
عملگرهای رشته ای در PHP
یک عملگر رشته ای مهم در PHP وجود دارد و آن نقطه (.) می باشد. این عملگر باعث به هم چسبیدن دو رشته مجزا می گردد.
توجه: از عبارت .= می توانید استفاده نمایید.
متغیرها در PHP
در زبان PHP باید قبل از هر متغیر یک علامت $ قرار دهید. در واقع PHP از روی علامت $ تشخیص می دهد که متغیرهای برنامه شما کدامند.
اگر تاکنون با زبانهای برنامه نویسی مانند C، C++، Pascal و مانند اینها کار می کرده اید، احتمالا انتظار دارید انواع مختلف متغیرها اعم از Integer، Real، Float و غیره را برایتان معرفی کنم. اما احتمالا خوشحال خواهید شد که بدانید نوع متغیرها برای PHP اهمیت ندارد. کافیست متغیری را نامگذاری کنید و سپس هر مقدار، از هر نوع و به هر اندازه که می خواهید در آن قرار دهید. سوالی که پیش خواهد آمد احتمالا "نحوه عمل PHP با این متغیرهای همه منظوره" است.
قبل از اینکه به مثال برسیم باید توجه شما را به دو نکته جلب کنم:
1- متغیرها در PHP نسبت به کوچکی و بزرگی حساسیت دارند (Case Sensitive ). یعنی به عنوان مثال متغیرهای my_var و My_Var و MY_VAR از نظر زبان PHP با هم متفاوت هستند.
2- متغیرها می توانند نامهایی با حروف کوچک و بزرگ انگلیسی و همینطور Underscore (خط فاصله پایین) را اخذ نمایند. استفاده از اعداد به شرطیکه اولین حرف متغیر نباشند نیز مجاز است. (یعنی مثلا $s12 و $S_1 به عنوان نام متغیر مجاز است اما $1s2 مجاز نمی باشد.) به شما به عنوان یک برنامه نویس که به تازگی شروع به کار با PHP نموده است پیشنهاد می کنم که از استفاده از Underscoreها نیز در ابتدای نام متغیرهای خود اجتناب ورزید. بعدها خواهیم دید که بسیاری از متغیرهایی که PHP خود از آنها استفاده می کند دارای Underscore در ابتدایشان می باشد.
حالا به مثال زیر توجه کنید:
$a=4;
$b=23;
$c="20hi! ";
$d="world 26";
$D=650.25; //It is different from $d
echo($D);//650.25
echo("
");
echo($d);//world 26
echo("
");
echo($a+$b); //27
echo("
");
echo($b+$c);//43
echo("
");
echo($c+$d);//20
echo("
");
echo($c.$d);//20hi! world 26
echo("
");
echo($a.$c.$d);//420hi! world 26
echo("
");
$c.=$d;
echo($c);//20hi! world 26
echo("
");
echo($d);//world 26
?>
خروجی برنامه بصورت زیر خواهد بود:

همانطور که از مثال بالا هم متوجه می شوید، در صورتیکه عددی را بصورت عادی و بدون علامت نقل قول (" ") به یک متغیر نسبت می دهیم، PHP می تواند با آن هم بصورت عدد و هم بصورت رشته برخورد نماید. در صورتیکه یک مقدار را در داخل " " قرار دهیم، اگر در ابتدای آن یک عدد وجود داشته باشد، PHP می تواند در مقابل عملگرهای ریاضی با آن عددها همچون اعداد عادی برخورد نماید و در مقابل عملگرهای رشته ای به عنوان رشته.
در این دو جلسه با هم آموختیم که چگونه یک کد ساده PHP را بسازیم و چگونه با متغیرها در PHP برخورد نماییم. در جلسه های آینده موارد بیشتری از چگونگی برنامه نویسی با PHP به شما خواهم آموخت.
اگر نیازی به توضیح بیشتر در هر موردی از این مقاله داشتید، به من email بزنید (siamak_j_2000@yahoo.com) تا یا بصورت یک email خصوصی و یا در قالب یک مقاله پاسخ شما را بدهم.

جلسه اول آموزش php

PHP چیست؟
PHP یک زبان برنامه نویسی با کد باز (Open-Source) است که اگرچه در ابتدا صرفا جهت برنامه نویسی تحت وب تولید شد، امروزه کارآییهای فراوانی پیدا کرده است. PHP یک زبان تحت سرور است (Server-Side) که طبیعتا برای اجرا نیاز به یک برنامه سرویس دهنده وب (Web Server) دارد.
کسانیکه مانند خود من قبلا با PERL کار کرده اند و حالا قصد دارند با PHP کار کنند، احتمالا مثل من در ابتدا به مشکلاتی بر خواهند خورد اما مطمئن باشید که PHP را سریع خواهید آموخت. آنچه به نظر من از خصوصیات خوب PHP بشمار می آید آن است که با وجود شباهت PHP با PERL، PHP پیچیدگیهای PERL را کمتر دارا می باشد. هرچند که قدرت PERL بر روی متن ها غیر قابل انکار است اما فراموش نکنید که PHP را صرفا برای محیط وب ساخته اند پس به اندازه کافی ( و حتی بیش از حد کافی ) امکانات کار با stringها را به شما ارائه خواهد کرد. فکر می کنم مقدمه چینی بیش از این هم حوصله شما را سر می برد و هم من را از موضوع دور می کند پس بر می گردیم به PHP.
برای شروع کار با PHP چه نیاز داریم؟
PHP برای اجرا نیاز به یک Web-Server دارد. دم دست ترین Web-Server برای شما احتمالا IIS خواهد بود، چرا که با استفاده از سی دی Windows قابل نصب است. نمی خواهم در این مقاله به شرح نصب IIS (یا وب سرورهای دیگر) بپردازم اما اگر نیاز به شرح آن دارید لطفا با من تماس بگیرید تا بطور مفصل آن را شرح دهم (آدرس پست الکترونیکی من در انتهای این مقاله آمده است). برای کسانیکه بقول یکی از دوستان من، "مرام Open Source" گلوی آنها را می فشارد شاید بهتر باشد از Apache به عنوان Web-Server استفاده کنند. (البته اگر از حق هم نگذریم Apache خیلی از IISبهتره!!!)
اگر Web-Server مورد علاقه شما به درستی بر روی دستگاه شما نصب شده است، حالا نیاز دارید که PHP را بر روی آن نصب کنید. برای بدست آوردن کد PHP از آدرس http://www.php.net/downloads.php استفاده کنید.
طبیعتا برای مشاهده نتیجه اجرای فایلهای PHP نیاز به یک مرورگر وب (Web Browser) دارید که مسلما رایجترین آن Internet Explorer است. برای درست کردن هر فایل PHP هم نیاز به یک ویرایشگر ساده متنی دارید (مثلا Word pad یا Note pad ) توجه کنید که از ویرایشگرهای حرفه ای مانند Microsoft Word نمی توانید استفاده کنید زیرا این ویرایشگرها از کاراکترهای پنهانی فراوانی استفاده می کنند که در هنگام ذخیره فایل متنی این کاراکترها هم ذخیره خواهند شد که باعث عدم اجرای دستورات PHP می شوند. با هم یک کد ساده PHP بنویسیم.
حالا می خواهیم اولین کد PHP را با هم درست کنیم. ویرایشگر متن را باز کنید (مثلا Word pad) و در آن چنین بنویسید:

echo (“Hi! I am the first PHP script you have made!”);
?>

حالا فایلتان را با عنوان 1st.php و در Web Server Local Folder ذخیره نمایید (اگر از IIS استفاده می کنید این فولدر در درایوی که Windows را در آن نصب کرده اید، با نام Inetpub وجود دارد. در داخل آن فولدر دیگری به نام wwwroot وجود دارد که باید فایلتان را در آن بریزید.)
حالا مرورگر وب خود را باز کنید (مثلا Internet Explorer) و در قسمت آدرس آن ابتدا //:http و سپس نام کامپیوتر خود و یا آدرس IP آن را تایپ نمایید (نام کامیوتر را در Control panel/System/Network Identification و IP را در صورتیکه تعیین کرده باشید در قسمت Command Prompt و با اجرای دستور ipconfig می توانید مشاهده کنید) و پس از یک Backslash (/) نام فایل (1st.php) را تایپ نموده و Enter را بزنید. بعنوان مثال نام کامپیوتر من siamak است. پس باید در قسمت آدرس مرورگرم خط زیر را بنویسم:
http://siamak/1st.php
اگر همه چیز را تا اینجا درست انجام داده باشید، متن زیر در مرورگرتان پدیدار می شود:

همانطور که احتمالا متوجه شدید، باید کد PHP خود را در داخل تگ قرار دهید. البته می توانید از روشهای دیگر نیز استفاده کنید اما متداولترین روش همین است.

دستور ()echo در PHP وظیفه چاپ در خروجی را بر عهده دارد.
می توانستیم همین کد را با کمک تگهای HTML و بصورت زیر نیز بنویسیم:


echo ("Hi! I am the first PHP script you have made!");
?>


در هر صورت خروجی برنامه به همان صورت که گفتیم خواهد بود. خوب برای جلسه اول کافیست! اگر نیازی به توضیح بیشتر در هر موردی از این مقاله داشتید، به من email بزنید (siamak_j_2000@yahoo.com)
تا یا بصورت یک email خصوصی و یا در قالب یک مقاله پاسخ شما را بدهم.