اذهب إلى المحتوى

السؤال

نشر

لدي مصفوفة تحتوي على مصفوفات من الالمستخدمين بالشكل التالي:

$user = array(
  'first_name' => "user name",
  'email' => "mail@gmail.com",
  'age' => 34, 
);

في المصفوفة السابقة، أريد أن أحصل على آخر مفتاح key منهما (أي age).

كيف أحصل على آخر مفتاح في المصفوفة في PHP؟

Recommended Posts

  • 1
نشر

انتبه عند استخدام الدالة end فهي تنقل مؤشر المصفوفة ليشير لآخر عنصر فيها، أي أن الوصول للمصفوفة بعد تنفيذ ذلك السطر سوف يستهدف آخر عنصر فقط. فهو يعيد قيمة آخر عنصر و يحرك المؤشر الداخلي للمصفوفة إليه. استخدمه بانتباه.

لاحظ الشيفرة السابقة حتى بدون الاعتماد على القيمة المعادة من end يتم الوصول للمفتاح الأخير مباشرة

<?php

$user = array(
  'first_name' => "user name",
  'email' => "mail@gmail.com",
  'age' => 34, 
);

end($user);

$key = key($user); 

var_dump($key);     // string(3) "age"

?>

يمكننا استخدام الدالة array_slice

<?php

$user = array(
  'first_name' => "user name",
  'email' => "mail@gmail.com",
  'age' => 34, 
);

echo key(array_slice($user, -1, 1, true));  // age


?>

يمكن استعمال end لكن مع غير المصفوفة الأصلية بشكل مباشر بل مع مصفوفة المفاتيح الخاصة بها

<?php

$user = array(
  'first_name' => "user name",
  'email' => "mail@gmail.com",
  'age' => 34, 
);

echo end(array_keys($user));

استعمال array_key_last مع إصدار  PHP >= 7.3

طرق أخرى

آخر عنصر من مصفوفة المفاتيح

echo array_keys($array)[count($array)-1];

echo array_pop(array_keys($array)); 

توثيق: array_keys - array_slice

 

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...