کار با رشته ها در php
رشته ها برحسب نقشی مهمی که درزبان php دارند. از این رو با مقایسه این رشته ها می توان عملیات های مهمی همچون جستجو کردن، را انجام داد. در این مقاله تلاس خواهیم نمود به دلیل نقش مهمی که رشته ها در زبان php دارند به برخی از توابع و موضوعات مرتبط با این مقوله بپردازیم.
تابع ()strlen
این تابع طول رشته را بر می گرداند:
<?php echo strlen("Persian Gulf"); // outputs 12 ?>
تابع ()str_word_count
این تابع تعداد کلمات موجود در رشته را نشان می دهد :
<?php echo str_word_count("Persian Gulf"); // outputs 2 ?>
تابع ()strrev
این تابع رشته ها را بصورت معکوس نشان می دهد:
<?php echo strrev("Persian Gulf"); // fluG naisreP ?>
تابع ()strpos:
متن خاصی را در رشته جستجو می کند. در صورت یافتن رشته جایگاه آن را با شمارش عدد خروجی این تابع می توان یافت و در صورت عدم یافتن رشته مورد نظر false را برمی گرداند.
<?php echo strpos("Hi all Iranians everywhere in the world", "Iranians"); // output:7 ?>
تابع ()str_replace:
این تابع برخی از کاراکترها را با برخی از کاراکترهای دیگر در یک رشته جایگزین می کند. به این ترتیب که کاراکتری را باید مورد جایگزین واقع شود را در آرگومان اول تابع ، و کاراکتری را که باید جایگزین شود در آرگوان دوم خود مشخص می کند و در نهایت آرگومان سوم مربوط به رشته ای است که قرار است این عملیات بر روی آن انجام شود.
<?php echo str_replace("world", "Iranians", "Hello world!"); // outputs Hello Iranians ?>
استفاده از توابع برای حذف فضاهای خالی در رشته ها
همانطور که می دانید فضاهای خالی موجود در کارکترهای رشته ای می تواند در انجام برخی از عملیات های مهم برنامه تداخل کند. برای مثال وجود یک کارکتر اضافی در رشته می تواند دستور یک برنامه نویس را برای یافتن یک رشته در پایگاه داده با مشکل مواجه سازد. از این رو ضروری است که برنامه نویس حداقل به برخی از توابع مهم در ارتباط با این موضوع دسترسی داشته باشد.
تابع ()Itrim
این تابع کاراکترهای سمت چپ رشته ها را حذف می کند و سینتکس آن به شکل زیر می باشد:
Itrim(str);
<?php $variable= "Hello Iranians!"; echo $variable . "<br>";//output:Hello Iranians! echo ltrim($variable,"Hed!");//output:http://psrd.ir/test.php ?>
تابع ()chop
این تابع فضای خالی سمت راست رشته ها را حذف می کند و سینتکس آن به شکل زیر می باشد:
chop($str);
تابع ()trim
این تابع فضای خالی سمت راست و چپ رشته ها را حذف می کند و سینتکس آن به شکل زیر می باشد:
trim($str);
<?php $str = "Hello World!"; echo $str . "<br>";// output:Hello World! echo trim($str,"Hed!");//output:llo Worl ?>
فرمت بندی رشته ها برای نمایش
تابع ()n12br
از این تابع که بیشتر برای متن های طولانی استفاده می شود تمام کارکترهای سطر جدید را برداشته و دستور <br> قرار می دهد و سیتکس کلی آن به شکل زیر می باشد.
n12br(str$)
چاپ رشته ها:
تابع ()printو () echo
برای چاپ رشته ها بر روی مرورگر از دستور echoو () print استفاده می کنیم تابع همانند تابع echo عمل می کند ولی از جهاتی با آن تفاوت دارد بطوریکه این تابع در صورت موفقیت در نمایش مقدار true و در صورت عدم موفقیت مقدار false را بر می گرداند.
تابع() sprint و() fprintf
این توابع نیز رشته ها را در مرورگر نمایش می دهند و لی عمده تفاوت آنها در این است که تابع ()sprint رشته ها را در یک رشته دیگر می نویسد ولی تابع دیگر فقط رشته ها را در مورگر نشان می دهد و سینتکس آن دو به شکل زیر می باشد.
fprintf(string format[,mixed args...]) sprintf(string format[,mixed args...])
تبدیل رشته ها
توابعی در php وجود دارند که می توانند کاراکترها را به حروف بزرگ یا کوچک تبدیل کنند:
تابع ()ucfirst
این تابع اولین کاراکتر مربوط به رشته را به حرف بزرگ تبیدل می کند و شکل کلی آن بصورت زیر است
ucfirst(str$)
تابع ()strtolower
این تابع ، کاراکترهای مربوط به رشته را به حرف کوچک تبدیل می کند و شکل کلی آن بصورت زیر است
strtolower(str$)
تابع ()ucwords
این تابع اولین کاراکتر مربوط به کلمات رشته ای را به حرف بزرگ تبدیل می کند و شکل کلی آن بصورت زیر است
ucwords(str$)
تابع ()strtoupper
این تابع تمام کاراکترهای مربوط به کلمات رشته ای را به حرف بزرگ تبدیل می کند و شکل کلی آن بصورت زیر است
strtoupper(str$)
الحاق و تجزیه رشته ها
تابع ()explode
این تابع، رشته ای را دریافت کرده و بر اساس جدا کننده های که بعنوان پارامتر ورودی دریافت می کند(separator) رشته را از هم می گسلد و سینتکس کلی آن بصورت زیر می باشد.
explode(separator, str[,int limit])
separator بعنوان کارکتر جدا کننده شناخته می شو و limit تعیین می کند چند تکه از رشته ها باید جدا شوند.
مثال:
<?php $str = 'word1--word2--word3--word4'; print_r(explode('--', $str)); ?>
خروجی آن به شکل زیر خواهد بود
Array ( [0] => word1 [1] => word2 [2] => word3 [3] => word4 )
تابع ()impload
این تابع، برخلاف تابع قبلی دو رشته را به هم متصل می کند و بر اساس separator که بعنوان پارامتر ورودی دریافت می کند بر این اساس رشته ها را به هم پیوند می دهد و سینتکس کلی آن بصورت زیر می باشد.
implode(separator, array)
مثال :
<?php $arr = array('word1','word2','word3','word4'); echo implode("-- ",$arr); ?>
که خروجی آن به شکل زیر خواهد
word1— word2— word3— word4
تابع ()strtok
این تابع ، بر روی هر رشته ای که اجرا می شود بر اساس نشانه آنها را از یکدیگر جدا می کند و سینتکس کلی آن به شکل زیر می باشد.
strtok(str, separator)
در سیتکس فوق str رشته است که نشانه ای از آن که با separator تفکیک شده است جدا می شود. به مثال زیر توجه کنید.
<?php $str = 'Hello to all of iran'; echo strtok($str, ' '); ?>
خروجی آن بصورت زیر خواهد بود:
Hello
مقایسه رشته ها
تابع ()strcmp
این تابع برای مقایسه دو رشته به کار می رود و زمانی که تعداد کارکترهای دو رشته مساوی باشد عدد صفر را برمی گرداند . که سینتکس آن بصورت زیر می باشد
strcmp(str1, str2)
مثال:
<?php $variable1 = "hi"; $variable2 = "my friends"; if (strcmp($variable1, $variable2) !== 0) { echo '$variable1 is not equal to $variable2' ; } ?>
که خروجی آن بصورت زیر خواهد بود
$variable1 is not equal to $variable2
0 دیدگاه