PHP – بهروزرسانی آیتمهای آرایه (Update Array Items)
بهروزرسانی آیتم آرایه (Update Array Item)
برای بهروزرسانی یک آیتم موجود در آرایه، میتوانید به شماره اندیس برای آرایههای اندیسدار (indexed arrays) و به نام کلید برای آرایههای انجمنی (associative arrays) اشاره کنید.
مثال
تغییر آیتم دوم آرایه از “BMW” به “Ford”:
$cars = array("Volvo", "BMW", "Toyota");
$cars[1] = "Ford";
توجه: اولین آیتم دارای اندیس 0 است.
برای بهروزرسانی آیتمها از یک آرایه انجمنی، از نام کلید استفاده کنید:
مثال
بهروزرسانی سال به 2024:
$cars = array("brand" => "Ford", "model" => "Mustang", "year" => 1964);
$cars["year"] = 2024;
بهروزرسانی آیتمهای آرایه در حلقه foreach (Update Array Items in a Foreach Loop)
تکنیکهای مختلفی برای تغییر مقادیر آیتمها در یک حلقه foreach
وجود دارد. یکی از راهها این است که از کاراکتر &
در اختصاص استفاده کنید تا مقدار آیتم توسط مرجع (reference) اختصاص یابد و اطمینان حاصل شود که هر تغییری که داخل حلقه انجام میشود، بر روی آرایه اصلی انجام خواهد شد.
مثال
تغییر تمامی مقادیر آیتمها به “Ford”:
$cars = array("Volvo", "BMW", "Toyota");
foreach ($cars as &$x) {
$x = "Ford";
}
unset($x); // حذف مرجع
var_dump($cars);
توجه: به یاد داشته باشید که پس از حلقه، تابع unset()
را اضافه کنید. بدون تابع unset($x)
, متغیر $x
به عنوان یک مرجع به آخرین آیتم آرایه باقی خواهد ماند.
برای نشان دادن این موضوع، ببینید چه اتفاقی میافتد وقتی مقدار $x
را بعد از حلقه foreach
تغییر میدهیم:
مثال
نمایش عواقب فراموش کردن تابع unset()
:
$cars = array("Volvo", "BMW", "Toyota");
foreach ($cars as &$x) {
$x = "Ford";
}
$x = "ice cream"; // تغییر مقدار $x
var_dump($cars); // نمایش آرایه $cars
در این مثال، تغییر مقدار $x
پس از حلقه foreach
باعث میشود که آخرین آیتم آرایه نیز تغییر کند، زیرا $x
همچنان به آخرین آیتم آرایه اشاره میکند. استفاده از unset($x)
این مشکل را برطرف میکند.
برای ارسال نظر لطفا ابتدا وارد حساب کاربری خود شوید. صفحه ورود و ثبت نام