Sobes.tech
Middle

O que é o comportamento 'copiar ao escrever'?

sobes.tech IA

Resposta da IA

Esta é uma otimização na gestão de memória em PHP (e outros idiomas/sistemas), onde a cópia do valor de uma variável não ocorre imediatamente, mas apenas quando se tenta modificar a cópia ou a original, se ambas referirem ao mesmo local na memória. Antes da modificação, ambas as variáveis simplesmente apontam para os mesmos dados.

<?php
$a = 'string'; // $a aponta para um bloco de memória com a string "string"
$b = $a; // $b agora também aponta para o mesmo bloco de memória, sem cópia

// Só agora, ao modificar $b, o PHP cria uma nova cópia dos dados para $b
$b .= ' alterada';

echo $a; // Vai mostrar: string
echo $b; // Vai mostrar: string alterada
?>