kahroba
مدیر انجمن دانشجویی
پست: 98
عضو شده در: 3 شهریور 1389
محل سکونت: ::..Saveh..::
امتياز: 1228
|
عنوان: آرايهها در PHP (قسمت اول) |
|
|
آرايه ميتواند مجموعهاي از اعداد، رشته ها، مؤلفهها، اشارهگرها و حتي آرايه ديگري باشد. برخلاف برخي ديگر از زبانهاي برنامه نويسي مقادير آرايهها در phpميتواند به صورت مختلط باشد. به طور مثال يک آرايه ميتواند به طور همزمان اعداد، رشته و مؤلفهها را ذخير کند.
به هر يک از عضوهاي يک آرايه يک عنصر از آن آرايه ميگويند.
آرايه چند بعدي:
هنگامي که عنصر يک آرايه خود يک آرايه باشد به آن آرايه، آرايه چند بعدي ميگويند.
کليدها:
کليدها را ميتوان به نام متغيرها تشبيه کرد که از طريق آنها ميتوان مقادير مربوطه دسترسي پيدا کرد.
اگه نوع کليد رشته باشد به آن آرايه، آرايه انجمني ميگويند.
يکي ديگر از ويژگيهاي آرايههاي PHP عدم نياز به تعريف نوع داده ميباشد. در واقع اين خاصيت موجب افزايش انعطافپذيري آرايهها شده است.
براي ايجاد آرايه از array استفاده ميشود.
براي اين منظور به صورت زير عمل ميکنيم:
کد: |
$rsh = array('islamic','republic','of','Iran'); |
توضيحات:
rsh - نام متغيري اختياري است.
Islamic - و republic و of و Iran چهار عنصر دلخواه هستند که ميتوان تعداد آنها را تغيير داد.
- کليدهاي آرايه چون تعريف نشدهاند به طور پيش فرض عدد ميباشند.
--
براي دستيابي به مقادير آرايه به صورت زير عمل ميکنيم:
براي واضح بودن مثال:
- که خروجي اين مثال با توجه به عناصر موجود islamic خواهد بود.
- براي افزودن يک عنصر جديد به صورت زير عمل ميکنيم:
- كه Dot مقدار دلخواه ما ميباشد.
- براي نمايش تمامي مقادير يک آرايه از print_r استفاده ميکنيم:
ايجاد آرايههاي انجمني:
همانطور که توضيح داده شد آرايههاي انجمني داراي کليدهايي از نوع رشته هستند. در واقع مزيت آرايههاي انجمني ايجاد يک ارتباط معنايي بين کليد و عناصر مي باشد.
مثلا:
کد: |
$rsh= array('name'=>'reza','gener'=>'male');
echo $rsh['name'];
echo $rsh['gener'];
|
- براي شمارش تعداد عاصر يک آرايه از تابع count استفاده ميکنيم.
براي دستيابي به تمام عناصر آرايهها مي توان از حلقههاي تکرار استفاده کرد:
کد: |
<?php
$rsh = array('islamic','republic','of','Iran');
$counts = count($rsh);
for($i=0;$i<$counts;$i++){
echo "$rsh[$i] ";
}
?> |
و اگر آرايه ما از نوع آرايههاي انجمني باشه بايد از foreach استفاده کنيم:
کد: |
<?php
$rsh= array('name'=>'reza','gener'=>'Male','Mina'=>'Female','Mohammad'=>'Male');
foreach ($rsh as $Key => $value)
{
echo "The value of $Key is : $value";
}
?> |
آرايههاي چند بعدي:
همان طور که گفتيم اگه اگر عناصر يک آرايه خود آرايه باشند به آن آرايه، آرايه چند بعدي ميگويند.
مثال:
کد: |
<?php
$rsh= array();
$rsh[0] = array('CMS'=>'reza','PHP'=>'SH');
$rsh[1] = array('URL'=>'http://educator.ir','Title'=>'.: | Rightclick |:.');
$url = $rsh[1]['URL'];
$title = $rsh[1]['Title'];
echo 'Find nice articles on <a href='.$url.'>'.$title.'</a>';
?> |
که فکر نکنم نياز به توضيح داشته باشه.
تغيير مؤلفه هاي جاري:
با استفاده از توابع current, next, prev, reset, end ميتوان در آرايه حر کت کرد.
:reset اين تابع اشارهگر را به اولين عنصر آرايه ميبرد و مقداري را برنميگرداند.
next : اين تابع اشارهگر را به عنصر بعدي ميبرد و در صورت وجود مقدار آن را برميگرداند در غير اين صورت false بر گردانده ميشود.
:prev اين تابع هم که عکس next عمل ميکند.
current: اين تابع عنصر جاري را برميگرداند.
end: اين تابع به آخرين عنصر موجود اشاره ميکند.
مثال:
کد: |
<?php
// Even nums up to 20
$even_num = array('2','4','6','8','10','12','14','16','18','20');
reset($even_num);
//echo prev($even_num).'<br>';
echo next($even_num).'<br>';
echo next($even_num) .'<br>';
echo prev($even_num) .'<br>';
reset($even_num);
echo end($even_num);
?> |
تابع array_search
اين تابع مقداري رو دريافت و در صورت وجود داشتن در آرايه كليد مربوطه رو برميگرداند. اگر مقدار مورد نظر در آرايه پيدا نشد مقدار False برگشت داده ميشود :
کد:
کد: |
mixed array_search ( mixed $needle , array $haystack [, bool $strict ] ) |
نكته: تابع نسبت به حروف كوچك و بزرگ در رشتهها حساس ميباشد.
کد: |
<?php
$array = array(0 => 'blue', 1 => 'red', 2 => 'green', 3 => 'red');
$key = array_search('green', $array); // $key = 2;
$key = array_search('red', $array); // $key = 1;
?> |
----------------------------------------------
اين تابع يک متغير را به عنوان ارگومنت دريافت ميکند و برسي ميکند که آيا متغير يک آرايه هست يا نه؟
--------------------------------------------------------------------------
اين تابع به عنوان ارگومنت يک آرايه را دريافت مينمايد و کليد و مقدار عنصر جاري را برميگرداند.
------------------------------------------------------------------------
اين تابع امکان پيمايش عناصر آرايه را فراهم ميکند و با استفاده از آن ديگر نيازي به حلقه نيست.
اين تابع دو ارگومنت دريافت ميکند. اولي نام آرايه ودومي نام يک تابع که به وسيله آن عمل مورد نظر را بر روي عناصر انجام دهد.
------------------------------------------------------------------------
اين تابع مرتب کردن آرايهها را بر عهده دارد.
در اين ترتيب اول اعداد، بعد علامتها ودر آخر حروف را مرتب ميکند.
بعد از ترتيب عناصر، ايندکس جديد ميگيرند.
-----------------------------------------------------------------------
اين تابع براي مرتب کردن آرايه هاي انجمني به کار ميرود و روش کار او مانند تابع قبلي است.
در اين تابع ايندکسهاي آرايه تغيير نميکند.
----------------------------------------------------------------------
اين تابع آرايههاي انجمني را بر اساس کليدهاي آن مرتب ميکند.
---------------------------------------------------------------------
اين تابع کليدها يا ايندکسهاي آرايه را براي وجود کليد مورد نظر بررسي ميکند. دو آرگومان اين تابع به ترتيب نام کليد و نام آرايه است.
----------------------------------------------------------------
اين تابع آرايه را براي مقدار خاصي جستجو ميکند و در صورت پيدا کردن مقدار مورد نظر، کليد آن را برميگرداند.
دو ارگومنت اين تابع به ترتيب مقدار مورد نظر و نام آرايه است.
------------------------------------------------------------------
يک آرايه را به عنوان ارگومان دريافت وکليدهاي آن را برميگرداند.
----------------------------------------------------------------
يک آرايه را به عنوان آرگومان دريافت و مقدارهاي آن را برميگرداند.
-------------------------------------------------------------
اين تابع تعداد عناصر موجود در يک آرايه را برميگرداند.
-------------------------------------------------------------
استفاده از ساختارهاي تکرار جهت پردارش عناصر آرايه
مثال:
کد: |
$arr=array(a,b,c,c);
foreach($arr as $val);
echo $val;
-------------- |
------------------------------------------
ترکيب دو يا چند آرايه با هم با استفاده از تابع زير
آرگومانهاي اين تابع دو يا چند ارايه است.
------------------------------------------------------------
اضافه کردن يک يا چند مقدار به آرايه با استفاده از تابع زير
آرگومان اول ان نام يک آرايه وارگومانهاي بعدي به هر تعداد عناصري را مشخص ميکند که بايد اضافه شوند.
---------------------------------------------------
--------------------------------------------------
بازيابي بخشي از يک ارايه با استفاده از تابع زير، اين تابع دو آرگومان ضروري و يک آرگومان اختياري دريافت ميکند.
آرگومانها به ترتيب نام آرايه, موقعيت شروع و طول بخش مورد نظر.که اگر ارگومنت سومي مشخص نشود، بخش مورد نظر از موقعيت شروع تا انتهاي آرايه فرض ميشود.
|
|