كيفية عمل نسخة كاملة من مصفوفة في PHP: عامل الإسناد مقابل clone
مرحبًا أيها الزملاء! أنا مبتدئ في PHP وواجهت موقفًا غير مفهوم. لدي مصفوفة تحتوي على بيانات المستخدمين:
```php
$users = [
['name' => 'إيفان', 'age' => 25],
['name' => 'ماريا', 'age' => 30]
];
```
أحتاج إلى إنشاء نسخة كاملة منها، لتعديل البيانات في النسخة دون التأثير على الأصل. جربت الإسناد البسيط:
```php
$usersCopy = $users;
$usersCopy[0]['name'] = 'بيتر';
print_r($users[0]['name']); // أظهر 'بيتر'، بينما كنت أتوقع 'إيفان'!
```
لماذا تغير الأصل؟ اعتقدت أن المصفوفات في PHP تُنسخ عند الإسناد. جربت استخدام `clone`:
```php
$usersCopy = clone $users;
// لكن clone يعمل فقط مع الكائنات، ويُظهر خطأ للمصفوفات
```
وقرأت أيضًا عن `array_copy()`، لكن لا توجد هذه الدالة في PHP. أرشدوني كيف أصنع نسخة مستقلة من مصفوفة متعددة الأبعاد في PHP بشكل صحيح؟ أحتاج ألا تؤثر التعديلات في النسخة على الأصل بأي شكل. شكرًا!
<<>>
فهم نسخ المصفوفات في PHP
أنت