آرایه در پی اچ پی

آرایه در php (آموزش به زبان ساده تر)

اساطیر زبان

آرایه در علوم کامپیوتر یک ساختار داده است که چند مقدار را در یک متغیر ذخیره می کند. مانند لیستی از مقادیر. آرایه ها ابزار قدرتمندی برای ذخیره متغیرها هستند که به راحتی با شماره اندیس می توانید به مقادیر دسترسی پیدا کنید.

در این آموزش با آرایه ها در PHP آشنا خواهید شد. نحوه نوشتن و استفاده از آرایه ها و همجنین مشکلات کار با آنها را به طور کامل توضیح خواهیم داد.

 


پی اچ پی

توی این پک فوق العاده، PHP رو جوری یاد میگیری که تو هیچ کلاس آموزشی یا پک دیگه ای نه دیدی نه شنیدی! بدون هیچ کلاسی، با PHP وبسایت بساز، پروژه محور یاد بگیر و حسابی پول در بیار! 


 

فهرست مطالبی که در اینجا بررسی می کنیم:

  • آرایه ها در PHP
  • نحوه اعلان آرایه ها در PHP
  • توابع آرایه ای PHP
  • مثال کار با آرایه ها در PHP

حتما در کنار این مطلب دانلود کنید: آموزش صفر تا صد طراحی وبسایت (رایگان)

آرایه ها در PHP

به زبان ساده یک آرایه در PHP یک لیست است، دقیقا مانند جاوا اسکریپت که یک آرایه لیستی از مقادیر است. برای مثال می توانید آرایه ای از اعداد صحیح مانند [1, 2, 3, 4, 5] یا ترکیبی از انواع داده ها مانند [false, 40, ‘purple’, $object, ‘puppy’] ایجاد کنید.

آرایه ها امکان ذخیره چند مقدار را تحت یک نام مشترک فراهم می کنند و برای دسترسی به هر یک از مقادیر از یک عدد به نام اندیس یا ایندکس (index) استفاده می شود، اندیس برای اولین عنصر در آرایه 0 است.

word image 15

تعداد کل عناصر یک آرایه به عنوان طول یا اندازه آرایه شناخته می شود. طول آرایه ها پویا است و می تواند در طی برنامه تغییر کند.

رفتار آرایه ها در PHP کمی متفاوت تر از چیزی است که در سایر زبان ها دیده اید. در PHP چند نوع آرایه وجود دارد که انواع داده های مختلف را نگه می دارند. آرایه ها در PHP ساختار یافته تر هستند و می توانیم برای نگهداری مجموعه جفت های “کلید-مقدار” از آنها استفاده کنیم.

سه ​​نوع آرایه در PHP وجود دارد:

  • آرایه های ایندکس یا عددی: آرایه ها با اندیس عددی
  • آرایه های انجمنی (Associative): آرایه ها با کلیدهای دارای نام
  • آرایه های چند بعدی: آرایه های حاوی یک یا چند آرایه

آرایه های انجمنی در PHP محتوا و اطلاعات بیشتری را در اختیار قرار می دهند و برای توسعه وب و سایر نیازهای برنامه نویسی بسیار مفید هستند. همه آرایه های PHP ماهیتی انجمنی دارند.

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

نحوه اعلان آرایه ها در PHP

یک آرایه جدید را با استفاده از تابع ()array ایجاد می کنیم.

<?php

$foo = array(1, 2, 3); // یک آرایه از اعداد صحیح با تابع ساخته شده است

$bar = [“A”, true, 123 => 5]; // PHP 5.4+ ساختار آرایه کوتاه،

echo $bar[0]; //  برمی گرداند”A”

echo “\n”;

echo $bar[1]; // مقدار 1 را برمی گرداند trueبرای

echo “\n”;

echo $bar[123]; // برمی گرداند 5

echo $bar[1234]; // خطا می دهد

?>

نکته: می توانیم از براکت ها [] نیز برای اعلان آرایه استفاده کنیم. کاما بعد از آخرین عنصر اختیاری است.

علاوه بر اینها از تابع ()list نیز برای مقداردهی متغیرها در یک روش کوتاهتر استفاده می شود.

// define array
$array = [‘a’, ‘b’, ‘c’];

// without list()
$a = $array[0];
$b = $array[1];
$c = $array[2];

// with list()
list($a, $b, $c) = $array;

نکته: ()list همچنین با foreach برای ساخت یک ساختار ساده خوب کار می کند.

$arrays = [[1, 2], [3, 4], [5, 6]];

foreach ($arrays as list($a, $b)) {
$c = $a + $b;
echo($c . ‘, ‘); // 3, 7, >11,
}

آرایه های ایندکس یا عددی در PHP

در آرایه های عددی یا ایندکس مقادیر عددی، رشته ها یا اشیا به عنوان عناصر آرایه ذخیره می شوند و اندیس آنها نیز با یک عدد مشخص می شود. مثال زیر و خروجی آن را برای درک ساختار این نوع ارایه بررسی کنید.

<html>

<body>

<?php

/* روش اول برای تعریف آرایه */

$numbers = array( 1, 2, 3, 4, 5);

foreach( $numbers as $value ) {

echo “Value is $value <br />”;

}

/* روش دوم برای تعریف آرایه */

$numbers[0] = “one”;

$numbers[1] = “two”;

$numbers[2] = “three”;

$numbers[3] = “four”;

$numbers[4] = “five”;

foreach( $numbers as $value ) {

echo “Value is $value <br />”;

}

?>

</body>

</html>

آرایه های انجمنی در PHP

آرایه های انجمنی شبیه آرایه های عددی هستند اما اندیس آنها متفاوت هستند. اندیس آرایه های انجمنی در PHP یک رشته است که جفت های کلید-مقدار را به هم ارتباط می دهد.

در مثال زیر در یک آرایه انجمنی از نام کارمندان به عنوان کلید (اندیس) همراه با حقوق آنها به عنوان مقدار استفاده می کند.

<html>

<body>

<?php

/* روش اول برای تعریف آرایه */

$salaries = array(“mark” => 2000, “janet” => 1000, “asma” => 500);

echo “Salary of mark is “. $salaries[‘mark’] . “<br />”;

echo “Salary of janet is “.  $salaries[‘janet’]. “<br />”;

echo “Salary of asma is “.  $salaries[‘asma’]. “<br />”;

/* روش دوم برای تعریف آرایه */

$salaries[‘mark’] = “high”;

$salaries[‘janet’] = “medium”;

$salaries[‘asma’] = “low”;

echo “Salary of mark is “. $salaries[‘mark’] . “<br />”;

echo “Salary of janet is “.  $salaries[‘janet’]. “<br />”;

echo “Salary of asma is “.  $salaries[‘asma’]. “<br />”;

?>

</body>

</html>

آرایه های چند بعدی در PHP

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

$arrayName = array(array(), array()……array())

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

// تعریف آرایه چندبعدی

$economy = array(

array(

“country” => “Germany”,

“currency” => “Euro”,

),

array

“country” => “Switzerland”,

“currency” => “Swiss Franc”,

),

array

“country” => “England”,

“currency” => “Pound”,

)

);

echo “Currency of Germany is: ” . $economy[0][“currency”]; // دسترسی به عنصر با اندیس 0 در آرایه

?>

توابع آرایه ای در PHP

کارهای مختلفی می توانیم روی آرایه ها در PHP انجام دهیم. توابع آرایه ای برای دستکاری، تغییر و استفاده از آرایه ها به کار می روند. در اینجا 10 تابع آرایه ای رایج را معرفی می کنیم اما ده ها تابع بیشتر از اینها وجود دارد.

  • array_keys: همه کلیدهای یک آرایه را برمی گرداند.
  • in_array: بررسی می کند که یک مقدار خاص در آرایه وجود دارد یا خیر.
  • array_reverse: یک آرایه با ترتیب عکس عناصر آرایه فعلی برمی گرداند.
  • array_unshift: یک یا چند عنصر را به ابتدای آرایه اضافه می کند.
  • array_pop: عنصر انتهای آرایه را حذف می کند و مقدار آن را بر می گرداند.
  • array_push: یک یا چند عنصر را در انتهای آرایه اضافه می کند.
  • array_diff_assoc: تفاوت آرایه ها را با بررسی اندیس ها محاسبه می کند.
  • array_map: تابع callbackرا روی عناصر آرایه های داده شده اعمال می کند.
  • array_merge: چند آرایه را با هم ادغام کنید.
  • array_filter: عناصر آرایه را با تابع callback فیلتر می کند.

خروجی آرایه ها در PHP

برای چاپ یک آرایه با فرمت قابل خواندن از دستور زیر استفاده می کنیم:

print_r(نام آرایه)

در نتیجه کلیدها و مقادیر مرتبط با آنها چاپ می شود.

<?php

$fruits = array(“Type”=>”Citrus”,1=>”Orange”,2=>”Grapefruit”,3=>”Lemon”);

print_r($fruits);

?>

به دست آوردن طول آرایه

برای به دست آوردن طول یا اندازه آرایه ها از تابع ()count استفاده می شود.

count ( Countable|array $value , int $mode = COUNT_NORMAL )

خروجی تابع یک عدد صحیح (int) است.

<?php

$food = array(‘fruits’ => array(‘orange’, ‘banana’, ‘apple’),

‘veggie’ => array(‘carrot’, ‘collard’, ‘pea’));

// recursive count

echo count($food, COUNT_RECURSIVE); //  8خروحی:

// normal count

echo count($food); // 2 خروحی:

?>

دسترسی به عناصر آرایه

دسترسی به عناصر آرایه با استفاده از کلید عنصرامکان پذیر است.

<?php

$array = array(

“foo” => “bar”,

42    => 24,

“multi” => array(

“dimensional” => array(

“array” => “foo”

)

)

);

var_dump($array[“foo”]);

var_dump($array[42]);

var_dump($array[“multi”][“dimensional”][“array”]);

?>

بازگشت مقادیر آرایه

تابع array_values مقادیر آرایه را ​​برمی گرداند.

array_values (نام آرایه) : یک آرایه برمی گرداند

<?php

$array = array(“size” => “M”, “color” => “yellow”);

print_r(array_values($array));

?>

آرایه ها در حلقه ها

هنگام کار با آرایه ها معمولا روی عناصر آرایه پیمایش شده و کارهایی مانند جمع، نمایش و … انجام می شود. متداول ترین روش پیمایش آرایه در PHP استفاده از foreach است.

همچنین می توانید از حلقه for استفاده کنید اما به طور کلی نوشتن و خواندن foreach آسان تر است.

foreach ($array as $key => $value) {

echo “Key is $key.”;

echo “Value is $value.”;

}

مثال کار با آرایه ها در PHP

حالا آنچه که آموخته ایم را در چند مثال عملی به کار می بریم.

در اولین مثال می خواهیم نحوه تعریف تابع را ببینیم. یک متد به نام ()findMaxVal می نویسیم تا بزرگترین مقدار صحیح ذخیره شده در یک آرایه با اندازه ای را به دست آورد.

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

نمونه ورودی: {2, 9, 6, 17, 15}

خروجی: 17

<?php

//Returns maximum value from Array passed as parameter

function findMaxVal($array)

{

$max = $array[0];

foreach($array as $key => $val){

if($max < $val){

$max = $val;

}

return $max;

}

}

?>

دومین مثال، چاپ یک آرایه دو بعدی با اندازه n x n در قالب یک ماتریس است:

ورودی یک عدد صحیح برای تعیین بعد ماتریس است، برای خروجی هم یک ماتریس در کنسول نشان داده می شود. به عنوان مثال برای مقدار 3 یک آرایه با اندازه 3 * 3 به صورت زیر چاپ خواهد شد:

word image 16

  • قطر فرعی ماتریس باید با 1 پر شود.
  • قسمت بالا و پایین قطر فرعی باید با 0 پر شود.

مطمئن شوید که بین مقادیر فاصله وجود دارد و هر سطر در خط بعدی چاپ می شود. برای انتقال مقدار به خط بعدی می توانید از PHP_EOL استفاده کنید.

<?php

function printMat($n) {

for($i=0;$i<$n;$i=$i+1)

{

for($j=0;$j<$n;$j=$j+1)

{

if($i+$j==$rows-1)

{

$a[$i][$j]=1;

}

else

{

$a[$i][$j]=0;

}

echo $a[$i][$j].” “;

}

echo “<br>”;

}

}

?>

حتما دانلود کنید: آموزش صفر تا صد PHP (رایگان)

تفاوت پک های حرفه ای ما با آموزشهای رایگان: بطور خلاصه از زمین تا آسمان! 1-پکها، جدیدترین نسخه نرم افزارها را آموزش می دهند با قابلیت های بسیار بیشتر. 2-پکها توسط متخصص آن نرم افزار، به صورت کاملا پروژه محور و با حل چالش هایی که در مسیر کار عملی و حرفه ای با آن روبرو می شوید تهیه شده اند و بعد از استفاده، کاملا برای بازار کار آماده اید! 3- متد این پکها کاملا کار شده و تا ماهها، در ذهن تان ماندگارند و یادگیری بسیار سریعتر و کاملتری خواهید داشت. آموزشهای رایگان فقط دستورات نرم افزارها را (آنهم ناقص) بیان می کنند و تازه برای ورود به بازار باید ماهها تجربه عملی هم کسب کنید !!

turned_in

چرب زبان

با این اپلیکیشن ساده، هر زبانی رو فقط با 5 دقیقه در روز، توی 80 روز مثل بلبل حرف بزن! بهترین متد روز، تقویت حافظه، آموزش تصویری. یادگیری زبان کلید یادگیری هر مهارتی در قرن 21 !


حتما بخوانید!

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

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

این فیلد را پر کنید
این فیلد را پر کنید
لطفاً یک نشانی ایمیل معتبر بنویسید.

فهرست