جلسه چهارم PHP

مقدمه

در این مقاله از کدپز با جلسه چهارم PHP در خدمت شما هستیم .

در قسمت قبل در جلسه سوم PHP تک به تک عملگر ها را در PHP بررسی کردیم. البته ورود کردن به بحث عملگر های آرایه ای ملزم به یادگیری این جلسه  بود. سرانجام مبحثی ساده اما فوق العاده لازم، با عنوان “ثبت کامنت ها و توضیحات در زبان پی اچ پی” را بیان کردیم.

با ما باشید تا در جلسه چهارم PHP به مباحث زیر بپردازیم.

 

۱)  تعریف و نحوه کار با آرایه ها

۲)  تابع count( )

۳)  تابع print_r و var_dump

۴)  عملگر های آرایه ای

 

۱)  تعریف و نحوه کار با آرایه ها

آرایه یک متغیر خاص است که می تواند چند مقدار را در خود ذخیره کند. برای مثال شما نیاز به ذخیره ی تعداد ۵۰ عدد را دارید. یا نیاز به ذخیره ی ۲۰ کلمه را دارید. یک آرایه می تواند تمامی آن ها را درون خود ذخیره کنند.

 

در جلسه چهارم PHP می آموزید که آرایه ها به سه دسته تقسیم می شوند.

-آرایه عددی (numeric array)

-آرایه متناظر یا انجمنی (associative arrays)

-آرایه تودرتو (multidimensional arrays)

آرایه عددی

در این نوع از آرایه هر عضو عدد منحصر به فرد خود را دارد. و اولین عضو عدد صفر را اختیار می کند. به مثال زیر از جلسه چهارم PHP توجه کنید.

<?php
$city = array(
    'alborz',
    'gilan',
    'khorasan',
    'sari'
    );

echo $city[1];
?>

خروجی کد بالا :

gilan

۲)  تابعcount( )

به وسیله ی این تابع می توان طول یک آرایه را محاسبه کرد.

 

<?php
$city = array('alborz','gilan','khorasan','sari');
echo count($city);
?>

خروجی کد بالا :

4

نکته۱: طول آرایه ۴ است اما آخرین مقدار، عدد ۳ را اختیار کرده است.

نکته۲: آرایه را هم می توان درون یک خط نوشت و هم به صورت خط های مجزا

– آرایه متناظر

این آرایه تقریبا شبیه آرایه عددی است. اما برای هر مقدار یک شناسه وجود دارد. به مثال زیر از جلسه چهارم PHP توجه کنید.

 

<?php
$city = array(
    'karaj'      =>   'alborz',
    'rasht'      =>   'gilan',
    'mashhad'    =>   'khorasan',
    'mazandaran' =>   'sari'
);

echo $city['rasht'];
?>

 

خروجی کد بالا :

gilan

– آرایه تودرتو

همانطور که از اسم آن پیداست، در این قسمت به راحتی می توان درون یک آرایه، آرایه ایی دیگر و درون آن باز هم آرایه ایی دیگر (به تعداد دلخواه) استفاده کرد.

<?php

$sherkat = array(
    array(
    'modir_arshad' =>   'ali',
    'moaven'       =>   'hasan',
    'dastyar'      =>   'reza',
    'monshi'       =>   'omid'
    ),
    array(
        '800',
        '700',
        '600',
        '500'
    )
);

echo $sherkat[1][2];
?>

در مثال بالا آرایه ایی تعریف کرده اییم. که درون آن دو آرایه وجود دارد. آرایه ی اول مقدار ۰ و آرایه ی دوم مقدار ۱ را نیز اختیار کرده است. آرایه ی اول از نوع متناظر و آرایه ی دوم از نوع عددی است.

خروجی کد بالا:

600

حال فرض کنید نیاز به نام منشی در آرایه داریم.

echo $sherkat[0]['monshi'];

خروجی کد بالا:

omid

نکته: درون آرایه ایی که اکنون تعریف کردیم دو آرایه وجود داشت، که خود از نوع عددی بودند و مقدار اولی ۰ و دومی ۱ بود. توجه داشته باشید که خودِ این آرایه های تودرتو می توانستند از نوع آرایه ی متناظر باشند و هر کدام شناسه ایی داشته باشند. به مثال زیر از جلسه چهارم PHP توجه کنید.

<?php
$sherkat = array(
    'karmandan'  =>  array(
        'modir_arshad' =>   'ali',
        'moaven'       =>   'hasan',
        'dastyar'      =>   'reza',
        'monshi'       =>   'omid'
    ),
    'dastmozd'  =>  array(
        '800',
        '700',
        '600',
        '500'
    )
);


echo "dastmozd " .$sherkat['karmandan']['monshi'] ." " .$sherkat['dastmozd'][3] ." ast.";


?>

خروجی کد بالا:

dastmozd omid 500 ast.

 

۳)  تابع print_r و var_dump

تابع print_r در PHP ، تمامی عناصر یک آرایه را نمایش می دهد. اما تابع var_dump با جزییات بیشتر، به طوری که هم نوع و هم مقدار عناصر را نمایش می دهد. به مثال زیر از جلسه چهارم PHP توجه کنید.

<pre>
<?php
$a=array(
    '800',
     array(10, "messi"),
    '600',
    'ali'
);

print_r($a);
echo '<hr>';
var_dump($a);

?>
</pre>

خروجی کد بالا:

Array
(
    [0] => 800
    [1] => Array
        (
            [0] => 10
            [1] => messi
        )

    [2] => 600
    [3] => ali
)
________________________________________
array(4) {
  [0]=>
  string(3) "800"
  [1]=>
  array(2) {
    [0]=>
    int(10)
    [1]=>
    string(5) "messi"
  }
  [2]=>
  string(3) "600"
  [3]=>
  string(3) "ali"
}

نکته: در کد بالا، قبل و بعد از تگ <php ?> از تگ باز و بسته ی <pre> </pre> استفاده کردیم. این تگ خروجی را به طور مرتب تری به نمایش در می آورد. شما نیز یک بار بدون این تگ کد بالا را اجرا کنید.

یک مبحث از جلسه ی قبل باقی مانده بود. که دانستن آن نیازمند گذراندن بخش آرایه ها بود. حال به بررسی آن می پردازیم.

۴)  عملگر های آرایه ای

ابتدا جدول را به دقت ملاحضه کنید، سپس توضیحات تکمیلی پایین جدول وجود دارد. همچنین این توضیحات در w3resource نیز موجود می باشد.

 

مثال عملگر Union (+):

ابتدا تفاوت a+$b$ و b+$a$ را ملاحضه نمایید.

<pre>
<?php
$a=array(
  'First amount'   =>  '100',
  'second amount'  =>  '200',
  'third amount'   =>  '300',
);
$b=array(
    'First amount'   =>  '600',
    'second amount'  =>  '700',
    'third amount'   =>  '800',
    'Fourth amount'  =>  'ali'
);
$x=$a+$b;
$y=$b+$a;

var_dump($x);
echo '<hr>';
var_dump($y);
?>
</pre>

 

خروجی کد بالا:

array(4) {
  ["First amount"]=>
  string(3) "100"
  ["second amount"]=>
  string(3) "200"
  ["third amount"]=>
  string(3) "300"
  ["Fourth amount"]=>
  string(3) "ali"
}
________________________________________
array(4) {
  ["First amount"]=>
  string(3) "600"
  ["second amount"]=>
  string(3) "700"
  ["third amount"]=>
  string(3) "800"
  ["Fourth amount"]=>
  string(3) "ali"
}

 

نکته۱: در a+b عناصر a را نگه می دارد و عناصر b را به آن اضافه می کند. ولی در b+a ابتدا عناصر b را نگه داشته و سپس عناصر a را به آن اضافی می کند.

حال دو آرایه به اسم x و y داریم، که عناصر آن ها این گونه می باشد.

(‘x=array(100,200,300,’ali

(‘y=array(600,700,800,’ali

 

 

مثال عملگر Equal (==):

<?php
$a = array("one" => "php", "two" => "html");
$b = array("three" => "css", "four" => "asp.net");

var_dump($a == $b);
?>

خروجی کد بالا:

bool(false)

مثال تفاوت عملگر Equal (==) و Identity (===) :

<?php
$str_1= 12345;
$str_2= '12345';
$str_3= '12345ali';

echo gettype($str_1).'<br>';
echo gettype($str_2).'<br>';
echo gettype($str_3).'<br>'.'<br>';

if ($str_1 == $str_2)
{
    echo 'true <hr>' ;
}
else
{
    echo 'false';
}
if ($str_1 === $str_2)
{
    echo 'true';
}
else
{
    echo 'false';
}
?>

 

نکته۱: با عبارت شرطی if جلسه ی بعد آشنا می شویم.

نکته۲: str_1 از نوع اینتیجر(عددی,int) و str_2 و str_3 از نوع استرینگ(رشته,str) هستند.

نکته۳: به عبارتی ساده می توان بیان کرد که عملگر (==) فقط مقدار متغیر(value) را چک میکند. اما عملگر (===) علاوه بر چک کردن value ، نوع متغیر (type) را نیز بررسی می کند. پس در این مثال شرط اولی true و شرط دومی false می باشد.

خروجی کد بالا:

integer
string
string

true
________________________________________
false

مثال تفاوت عملگر Inequality (!=) و (<>) و Non-Inequality (!==) :

همانطور که در توضیحات جدول ملاحضه نمودید، عملگر (=!) و (<>) تفاوتی ندارند. اما تفاوت دو عملگر (=!) و (==!) را در مثال زیر از جلسه چهارم PHP ببینید.

 

<?php
$str_1= 123;
$str_2= '123';
$str_3= '123ali';

echo gettype($str_1).'<br>';
echo gettype($str_2).'<br>';
echo gettype($str_3).'<br>'.'<br>';

if ($str_1 != $str_2)
{
    echo 'true' ;
}
else
{
    echo 'false<hr>';
}
if ($str_1 !== $str_2)
{
    echo 'true';
}
else
{
    echo 'false';
}
?>

خروجی کد بالا:

integer
string
string

false
________________________________________
true

نکته: همانند مثال قبل عملگر (=!) فقط مقدار متغیر(value) را چک میکند. اما عملگر (==!) علاوه بر چک کردن value ، نوع متغیر (type) را نیز بررسی می کند. پس در این مثال شرط اولی false و شرط دومی true می باشد.

 

مبحث آرایه ها به پایان رسید. برای آموزشی دیگر می توانید از اینجا استفاده کنید. حتما و حتما با انواع آرایه ها تمرین کنید.

تبریک میگم شما موفق شدید تا جلسه چهارم PHP را پشت سر بگذارید.

 




مقاله قبلی: جلسه سوم Php

مقاله بعدی: جلسه پنجم PHP
سایر مقالات :

جلسه معرفیرفتن به مطلب
جلسه اول Phpرفتن به مطلب
جلسه دوم Phpرفتن به مطلب
جلسه سوم Phpرفتن به مطلب
جلسه چهارم PHPرفتن به مطلب
جلسه پنجم PHPرفتن به مطلب
جلسه ششم PHPرفتن به مطلب
جلسه هفتم PHPرفتن به مطلب
جلسه هشتم PHPرفتن به مطلب
جلسه نهم PHPرفتن به مطلب
جلسه دهم PHP - یادآوری فرم در html - فرم ها در PHP‌ - آشنایی با متد های GET_$ و POST_$رفتن به مطلب
جلسه یازدهم PHP: شی گرایی - تعریف کلاس - ساخت اشیا فراخوانی تابع عضورفتن به مطلب
جلسه پانزدهم PHP: اتصال PHP به MySQL - (PDO یا MySQL) - بستن اتصالرفتن به مطلب
جلسه هفدهم PHP : وارد کردن اطلاعات در MySQL با دو روش mysqli و PDO - به صورت رویه ای و شی گراییرفتن به مطلب
جلسه هجدهم PHP- دریافت آخرین شناسه در پایگاه داده MySQL - دستورات آماده PHP در MySQL رفتن به مطلب
جلسه نوزدهم PHP: رفتن به مطلب
جلسه بیست یکم PHP : XML - DOM - SimpleXMLرفتن به مطلب
جلسه بیست دوم PHP : رفتن به مطلب
جلسه بیست سوم PHP : پایگاه داده و Ajaxرفتن به مطلب
جلسه بیست چهارم PHP : تمارین PHP رفتن به مطلب
جلسه بیست پنجم PHP رفتن به مطلب