ما الفرق بين isset() و array_key_exists() في PHP؟ ومتى نستخدم كلًا منهما؟
```html
مرحباً بالجميع! بدأت للتو في تعلم PHP وواجهت موقفاً غير مفهوم. لدي مصفوفة تحتوي على بيانات المستخدم:
```php
$user = [
'name' => 'Иван',
'email' => 'ivan@example.com',
'age' => null,
'status' => ''
];
```
أحتاج إلى التحقق مما إذا كان المفتاح `age` موجوداً في المصفوفة. جربت طريقتين:
```php
if (isset($user['age'])) {
echo "Возраст указан";
}
if (array_key_exists('age', $user)) {
echo "Ключ age существует";
}
```
الطريقة الأولى (`isset`) لا تظهر رسالة، على الرغم من أن المفتاح `age` موجود بوضوح في المصفوفة. أما `array_key_exists` فتعمل وتظهر "Ключ age существует". أنا في حيرة: كليهما يفترض أن يتحقق من وجود المفتاح؟ لماذا تختلف النتائج؟ وبالنسبة للمفتاح `status` ذي السلسلة الفارغة، فإن `isset` يُرجع `false` أيضاً، على الرغم من أن المفتاح موجود.
من فضلكم، اشرحوا لمبتدئ: ما الفرق بين `isset()` و `array_key_exists()`، ومتى يكون استخدام أي منهما أفضل؟ هل هناك أي تفاصيل دقيقة تتعلق بالأداء؟
```