मेरे पास stdClass ऑब्जेक्ट्स की एक सरणी है। जब मैं एक चर को एक असाइन करता हूं, तो यह चर की प्रतिलिपि नहीं बना रहा है बल्कि मूल चर का संदर्भ देता है। मेरा कोड इस तरह है:आप PHP में एक चर की स्पष्ट रूप से एक प्रति कैसे बनाते हैं?
for ($i = 0, $len = count($rows); $i < $len; $i++)
{
$row = $rows[$i];
echo $rows[$i]->games;
$row->games = 'test';
echo $rows[$i]->games;
}
पहला प्रतिध्वनि सामान्य मान आउटपुट करता है, लेकिन दूसरी गूंज "परीक्षण" आउटपुट करता है। भले ही मैं $row
(जिसे कॉपी किया जाना चाहिए) पर संपत्ति सेट कर रहा हूं, यह वास्तव में इसे मूल सरणी तत्व पर सेट कर रहा है।
यह क्यों है, और मैं वास्तव में एक प्रति कैसे बना सकता हूं, ताकि कॉपी को संशोधित करने से मूल को संशोधित नहीं किया जा सके?