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

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

Emad Saif

السؤال

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

$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

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 1

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

echo end($user); //34

أو باستخدام array_key_last التي من خلالها نحصل على قيمة آخر مفتاح في المصفوفة كالتالي

echo $user[array_key_last($user)];//34

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

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

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

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

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...