كيفية التحقق مما إذا كانت المصفوفة في PHP ترابطية أم متسلسلة (مفهرسة)؟
مرحبًا أيها الزملاء! أكتب بلغة PHP منذ بضعة أشهر، وغالبًا ما أواجه مشكلة: أحتاج إلى معرفة ما إذا كانت المصفوفة قائمة عادية (بمفاتيح رقمية 0، 1، 2...) أم ترابطية (بمفاتيح نصية مثل 'name'، 'age'). هذا ضروري لمعالجة البيانات بشكل صحيح، على سبيل المثال، عند التحويل إلى JSON أو عند تمريرها إلى دالة تتوقع تنسيقًا معينًا.
إليك مثال. لدي دالة تستقبل مصفوفة ويجب أن تعمل معها بشكل مختلف:
```php
function processData($data) {
// إذا كانت المصفوفة متسلسلة — نكرر العناصر كقائمة
// إذا كانت ترابطية — نعمل مع المفاتيح
// كيف نتحقق من ذلك داخل الدالة؟
}
```
حاولت التحقق باستخدام `array_keys()`، لكنه يبدو حلاً مؤقتًا. قرأت أيضًا عن `is_numeric()`، لكنني لست متأكدًا من موثوقيته. البعض يقول عن `array_values()`، والبعض عن `range()`.
أرجو إخباري بالطريقة الأكثر صحة وكفاءة للتحقق مما إذا كانت المصفوفة ترابطية.