Emad Saif نشر 28 مارس 2022 أرسل تقرير نشر 28 مارس 2022 لدي مصفوفة تحتوي على مصفوفات من الالمستخدمين بالشكل التالي: $user = array( 'first_name' => "user name", 'email' => "mail@gmail.com", 'age' => 34, ); في المصفوفة السابقة، أريد أن أحصل على آخر مفتاح key منهما (أي age). كيف أحصل على آخر مفتاح في المصفوفة في PHP؟ 2 اقتباس
1 محمد أبو عواد نشر 28 مارس 2022 أرسل تقرير نشر 28 مارس 2022 يمكنك استخدام التابع end للحصول على قيمة آخر مفتاح كالتالي echo end($user); //34 أو باستخدام array_key_last التي من خلالها نحصل على قيمة آخر مفتاح في المصفوفة كالتالي echo $user[array_key_last($user)];//34 اقتباس
1 Wael Aljamal نشر 28 مارس 2022 أرسل تقرير نشر 28 مارس 2022 انتبه عند استخدام الدالة 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 اقتباس
السؤال
Emad Saif
لدي مصفوفة تحتوي على مصفوفات من الالمستخدمين بالشكل التالي:
في المصفوفة السابقة، أريد أن أحصل على آخر مفتاح key منهما (أي age).
كيف أحصل على آخر مفتاح في المصفوفة في PHP؟
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.