رفتن به مطلب
سروش

درس هفتم - کار با رشته ها

پست های پیشنهاد شده

با سلام و عرض ادب خدمت همه ی دوستان جومینایی

پیشاپیش سال نو رو تبریک میگم

خب از همین اوب میریم سر اصل مطلب.

رشته ها نوعی از داده ها هستند که در ذخیره و بازیابی داده ها در فایل و بانک اطلاعاتی مفید واقع می شوند. اعمال مختلفی بر روی این نوع متغیرها انجام می شود که خب مهم هستند و به همین دلیل در اینجا به بررسی این ها می پردازیم.

حذف فضاهای خالی

معمولا در انجام مقایسه ها و جستجو از فضاهای خالی رشته ها صرف نظر می شود. برای این کار توابع زیر مورد استفاده قرار می گیرد :

تابع ltrim() : این تابع فضای خالی سمت چپ رشته را حذف می نماید و به صورت زیر به کار می رود :

ltrim($str);

تابع chop() : این تابع فضای خالی سمت راست رشته را حذف می نماید و به صورت زیر به کار می رود :

chop($str);

تابع trim() : این تابع فضای خالی سمت راست و چپ رشته را حذف می نماید و به صورت زیر به کار می رود :

trim($str);

فرمت بندی رشته ها برای نمایش

توابع متعددی در php وجود دارند که برای فرمت بندی مجدد رشته ها به کار می آیند . این توابع را در مورد بررسی قرار میدیم

تابع nl2br() : در این تابع ، رشته ای را به عنوان پارامتر دریافت می کند و تمام کاراکترهای سطر جدید (newline charachters) را برداشته به جای آن دستور

را قرار میدهد که از دستورات html است.این تابع برای نمایش رشته های طولانی در مرورگر به کار میرود:

nl2br($str);

فرمت بندی رشته ها برای چاپ

تاکنون برای چاپ رشته ها در مرورگر از دستور echo و تابع print استفاده کردیم.هر یک از این دو رشته را به صورتی که هست چاپ میکنند.اما با استفاده از دو تابعت printf() و sprintf() می توان خروجی بهتیر را تولید کرد. تفاوت این دو تابع این است که تابع fprintf رشته را در مرورگر ، و تابع sprintf() رشته را در یک رشته دیگر می نویسد.هر یک از این دو تابع به صورت زیر به کار می روند:

printf(string format [, mixed args ... ] );
sprintf(string format [, mixed args ... ] );

پارامتر اول ، فرمتی است که شکل خروجی را مشخص می کند . پارامتر دوم متغیرهای رشته ای هستند که باید به خروجی بروند.فرمت خروجی ها با کاراکترهای خاصی مشخص می شوند که در ادامه به آن ها اشاره میکنم.به عنوان مثال ، کاراکتر فرمت %s برای چاپ رشته ها و کاراکتر فرمت %d برای چاپ مقادیر صحیح به کار می رود.

کاراکترهای فرمت

b => به صورت یک مقدار صحیح تفسیر شده به شکل یک عدد دودویی چاپ می شود.

c => به صورت یک مقدار صحیح تفسیر شده به شکل کاراکتر چاپ می شود.

d => به صورت یک مقدار صحیح تفسیر شده به شکل دهدهی چاپ می شود.

f => به صورت یک مقدار double تفسیر شده به شکل ممیز شناور چاپ می شود.

o => به صورت یک مقدار صحیح تفسیر شده در مبنای 8 نوشته می شود.

s => به صورت رشته تفسیر و چاپ می شود.

x => به صورت یک مقدار صحیح تفسیر شده با حروف کوچک a-f در مبنای 16 چاپ می شود.

X => به صورت یک مقدار صحیح تفسیر شده با حروف بزرگ A_F در مبنای 16 چاپ می شود.

به مثال زیر دقت کنید :

$name = "soroush";
printf("My Name Is %s",$name);

خرجی تین دستور این عبارت است :

My Name Is Soroush

حال این دستورات را ببینید :

<?php
$num = 156;
printf("Khuruji: %x",$num);
printf("Khuruji: %b",$num);
printf("Khuruji: %o",$num);
printf("Khuruji: %f",$num);
printf("Khuruji: %d",$num);
?>

خروجی این دستور به این صورت است :

Khuruji: 9c

Khuruji: 10011100

Khuruji: 234

Khuruji: 156000000

Khuruji: 156

-----------------------

این تاپیک ادامه دارد

-----------------------

پیروز باشید

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

خب دوستان با سلام مجدد

اول از همه سال نو رو تبریک میگم و از همه بابت اینکه چند وقتی آموزش ارسال نکردم معذرت میخوام ... شدیدا درگیر خاله بازی های عید بود :D

تبدیل حروف رشته ها

توابعی در PHPوجود دارند که می توانند حروف کوچک رشته ای را به حروف بزرگ و بالعکس تبدیل کنند.این توابع عبارتند از :

تابع strtoupper() : این تابع رشته ای را به حروف بزرگ تبدیل می کند :

strtoupper($str);

تابع strtolower() : این تابع رشته ای را به حروف کوچک تبدیل می کند :

strtolower($str);

تابع ucfirst() : این تابع اولین حرف رشته را به حرف بزرگ تبدیل می کند:

ucfirst($str);

تابع ucwords() : این تابع اولین حرف تمام کلمات رشته ای را به حرف بزرگ تبدیل می کند:

ucwords($str);

------------------------------------------------------------------------------------------------------------------------------------------------------------

الحاق و تجزیه رشته ها

توابعی در php وجود دارند که برای الحاق یا تجزیه رشته ها به چند زیر رشته به کار می روند

برخی از این توابع به شرح زیر هستند:

تابع explode() : این تابع رشته ای را دریافت کرده ، آن را بر اساس جداکننده ای که به عنوان پارامتر مشخص می شود،تجزیه می کند و در آرایه ای قرار می دهد . کاربرد آن به صورت زیر است :

explode(seprator,$str[,int limit]);

seprator کاراکتر جدا کننده است.$str رشته ای است که باید تجزیه شود.limit مشخص می کند چند تکه از رشته جدا شود.به عنوان مثال دستورات زیر را ببینید :

$mail = "soroush@tinamo.ir";
$ar = explode('@',$mail);

دستور اول رشته ای را تعریف می کند.دستور دوم این رشته را به 2 بخش تقسیم میکند و در آرایه $ar قرار می دهد.به طوری که $ar[0] برابر soroush و $ar[1] برابر با tinamo.ir می شود.

تابع implode() : این تابع بر عکس تابع explode() عمل می کند و به صورت زیر به کار می رود :

implode (seprator,array);

به طور مثال برلی الحاق دو رشته موجود در $ar[0] و $ar[1] به صورت زیر عمل می شود:

$email = implode('@',$ar)

یادآوری می شود که تابع join() نیز دقیقا مثل تابع implode() به کار می رود

تابع strtok() : این تابع هر بار روی رشته ای اجرا می شود، یک نشانه (token) را جدا می کند :

strtok(str, seprator);

str رشته ای است که نشانه ای از آن که با seprator تفکیک شده است ، جدا می شود.دستورات زیر را ببینید :

$str = 'Soroush Tayyebi';
$t = strtok($str,' ');

با این دستور واژه 'Soroush' در $t قرار میگیرد .

تابع substr() : این تابع می تواند زیر رشته ای را از یک رشته جدا کند:

substr(str,start[,lenght]);

این تابع زیر رشته ای به طول length را با شروع از موقعیت start در رشته str بر میگرداند.اگر length مشخص نشود ، از start تا انتهای رشته برگردانده می شود.به عنوان مثال دستور زیر را ببینید :

$str = "You Are Learning PHP";
$sub = substr($str, 18, 3);

این دستور رشته 'PHP' را جدا کرده در $sub قرار می دهد. توجه کنید که موقعیت اولین کاراکتر رشته برابر با صفر است.

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

با سلام مجدد به همه ی دوستان و آرزوی قبولی طاعات و عبادات همه مسلمانان ایران زمین

بعد از کلی کلنجار رفتن با خودم سعید عزیز تصمیم به ادامه گرفتم . از همینجا از سعید تشکر ویژه میکنم :)

خب میرم سر اصل موضوع و مبحث رشته ها رو ادامه میدم

مقایسه رشته ها

همان طور که میدونید از عملگر == میشه برای مقایسه رشته ها استفاده کرد . ولی تابعی تو php هستش که کارای پیچیده تری مورد استفاده قرار میگیره :‌

تابع strcmp() : این تابع برای مقایسه دو رشته به کار میره :‌

strcmp($str1, $str2);

اینجا اگه $str1 و $str2 برابر باشند مقدار 0 ، اگه $str1 از $str2 بزرگتر باشه مقدار بزرگتر از 0 و اگه $str1 از $str2 کوچکتر باشه مقدار کوچکتر از 0 برگشت داده میشه .

تابع strcasecmp() : این تابع مثل strcmp عمل میکنه با این تفاوت که بین حروف بزرگ و کوچک فرقی قائل نیست .

جستجو در رشته ها

تو php توابع متعددی برای جستجو رشته ای تو رشته ی دیگه وجود داره که در زیر به بعضی از آنها اشاره میشه :‌

تابع strstr() : این تابع ،‌ رشته ای را در یک رشته بزرگ جستجو می کند و به صورت زیر به کار میرود :‌

strstr($str1, $str2);

این تابع $str2 رو توی $str1 جستجو میکنه . اگه $str2 تو $str1 وجود داشته باشه از اون محل تا انتهای رشته را بر میگرداند و گرنه مقدار false برمیگرداند . مثال زیر رو ببینید :‌

$str1 = 'Soroush Tayyebi @ Joomina';
$s = strstr($str1, '@');

که در اینجا مقدار :‌

@ Joomina

در متغیر $s ریخته میشود. توجه کنید که تابع strchr() دقیقا مانند تابع strstr() عمل میکند

تابع stristr()‌ :‌ این تابع مثل strstr() عمل می کند ولی بین حروف بزرگ و کوچک تفاوتی قائل نمی شود .

تابع strrchr() : این تابع هم مثل strstr() هستش با این تفاوت که از آخرین وقوع زیر رشته مورد جستجو تا انتهای تابع را بر میگرداند.

----

ادامه دارد

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

به گفتگو بپیوندید

هم اکنون می توانید ارسال داشته باشید و بعد ثبت نام خود را در سایت کامل نمایید. اگر حساب کاربری در سایت دارید، جهت ارسال با حساب کاربری خود هم اکنون وارد سایت شوید

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.


×
×
  • افزودن...