Sobes.tech
Middle

Какво е поведението 'копиране при писане'?

sobes.tech AI

Отговор от AI

Това е оптимизация на управлението на паметта в PHP (и други езици/системи), при която копирането на стойността на променлива не се извършва веднага, а само когато се опитаме да променим копието или оригинала, ако и двамата сочат към едно и също място в паметта. Преди промяната и двете променливи просто сочат към едни и същи данни.

<?php
$a = 'низ'; // $a сочи към блок памет с низ "низ"
$b = $a; // $b сега също сочи към същия блок памет, копиране не се извършва

// Само сега, при промяна на $b, PHP създава нова копие на данните за $b
$b .= ' променен';

echo $a; // Ще изведе: низ

echo $b; // Ще изведе: низ променен
?>