سرفصل‌های آموزشی
آموزش PHP 8
اضافه کردن مقدار به ابتدای آرایه های Associative و Indexed

اضافه کردن مقدار به ابتدای آرایه های Associative و Indexed

در چند بخش آینده قصد دارم بعضی از توابع و کارهایی که کاربرد زیادی در زمان استفاده از آرایه های PHP دارند را معرفی کنم.

در این بخش یاد میگیرید که چگونه می توانید به ابتدای یک آرایه مقدار جدیدی را اضافه کنید. برای این کار در آرایه های Indexed از تابع ()array_unshift و در آرایه های Associative از اپراتور + استفاده می کنیم.

معرفی تابع ()array_unshift

برای اضافه کردن یک یا چند المان به ابتدای یک آرایه می توانیم از تابع ()array_unshift استفاده کنیم. این تابع به صورت زیر استفاده می شود:

array_unshift ( array &$array , mixed ...$values ) : int

در این Syntax:

  • array$، همان آرایه ایست که می خواهیم مقادیر را به آن اضافه کنیم.
  • values$، مقادیری هستند که قرار است به آرایه ی بالا اضافه شوند.
  • در خروجی اجرای تابع بالا، تعداد مقادیری که به آرایه اضافه شده است برگردانده می شود.

توجه داشته باشید که این تابع، آرایه ی اصلی را تغییر می دهد. و با توجه به اینکه مقادیر را به ابتدای آرایه ی مورد نظر اضافه می کند، کلیدهای آرایه باز تعریف می شوند.

مثال تابع ()array_unshift

در ادامه چند مثال از تابع ()array_unshift آورده شده است.

مثال 1: در تکه کد زیر مثالی از اضافه کردن یک مقدار به ابتدای آرایه ای با استفاده از تابع ()array_unshift را مشاهده می کنید:

<?php

$permissions = [
      'edit',
      'delete',
      'view'
];

array_unshift($permissions, 'new');

print_r($permissions);

در خروجی خواهیم داشت:

Array
(
    [0] => new
    [1] => edit
    [2] => delete
    [3] => view
)

در تکه کد بالا چه کار کردیم؟

  • ابتدا یک آرایه با سه مقدار new، edit و delete ایجاد کردیم.
  • با استفاده از تابع ()array_unshift یک مقدار جدید (new) به ابتدای آرایه اضافه کردیم.
  • با استفاده از تابع ()print_r تابع را در خروجی نمایش دادیم.

همانطور که در خروجی اجرای برنامه مشاهده می کنید، new به ابتدای آرایه اضافه شد و بقیه ی مقادیر هم به واسطه ی این تغییر، کلیدهای جدیدی دریافت کردند.

مثال 2: در تکه کد زیر قرار است چند مقدار جدید را با استفاده از تابع ()array_unshift به ابتدای آرایه مان اضافه کنیم:

<?php
$permissions = [
      'edit',
      'delete',
      'view'
];
array_unshift($permissions, 'new', 'approve', 'reject');
print_r($permissions);

در خروجی خواهیم داشت:

Array
(
    [0] => new
   [1] => approve
   [2] => reject
   [3] => edit
   [4] => delete
   [5] => view
(

اضافه کردن یک مقدار جدید به آرایه های Associative

در آرایه های Associative برای اضافه کردن یک مقدار به ابتدای آنها از اپراتور + استفاده می کنیم. در تکه کد زیر می توانید مثالی از آن را مشاهده کنید:

<?php

$colors = [
      'red' => '#ff000',
      'green' => '#00ff00',
      'blue' => '#0000ff',
];

$colors = ['black' => '#000000'] + $colors;

print_r($colors);

در خروجی خواهیم داشت:

Array
(
    [black] => #000000
    [red] => #ff000
    [green] => #00ff00
    [blue] => #0000ff
)