قالب و افزونه وردپرس

کار با رشته ها در 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

 


دسته‌ها: آموزش PHP

0 دیدگاه

دیدگاهتان را بنویسید

Avatar placeholder

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *