ការយោង (References)
ការយោងនៅក្នុង PHP
Reference គឺជារបៀបដែលអនុញ្ញាតឲ្យអថេរពីរឬច្រើនចង្អុលទៅកាន់តម្លៃតែមួយគត់។
🔗 Reference គឺអ្វី?
នៅពេលដែលអ្នកបង្កើត reference, អ្នកមិនមែនចម្លងតម្លៃទេ ប៉ុន្តែបង្កើតឈ្មោះថ្មីមួយដែលចង្អុលទៅកាន់តម្លៃដូចគ្នា។
ប្រភេទ | ការប្រព្រឹត្ត | លទ្ធផល |
---|---|---|
Assignment ធម្មតា | $b = $a | ចម្លងតម្លៃពី $a ទៅ $b |
Reference Assignment | $b = &$a | $b ចង្អុលទៅតម្លៃដូច $a |
📝 ឧទាហរណ៍មូលដ្ឋាន
🎯 ការប្រើប្រាស់ Reference
Reference អាចប្រើបានក្នុងករណីទាំង៣:
ប្រភេទ | ពិពណ៌នា | សញ្ញា |
---|---|---|
1. Assign by Reference | ផ្តល់តម្លៃដោយយោង | $b = &$a; |
2. Pass by Reference | បញ្ជូនទៅមុខងារដោយយោង | function(&$param) |
3. Return by Reference | ត្រឡប់ពីមុខងារដោយយោង | function &getName() |
1️⃣ Assign by Reference
ផ្តល់តម្លៃអថេរដោយយោងទៅកាន់អថេរផ្សេង:
2️⃣ Pass by Reference (បញ្ជូនទៅមុខងារ)
បញ្ជូនអថេរទៅមុខងារដោយយោង ដើម្បីឲ្យមុខងារអាចកែប្រែតម្លៃដើមបាន:
3️⃣ Return by Reference
ត្រឡប់តម្លៃពីមុខងារដោយយោង:
⚠️ ចំណុចត្រូវចាំ
ករណី | ពន្យល់ |
---|---|
unset() លុបឈ្មោះ មិនមែនតម្លៃ | នៅពេល unset($b), វាលុបតែ $b ប៉ុន្តែ $a នៅតែមានតម្លៃ |
ប្រើ & នៅពេលផ្តល់តម្លៃតែប៉ុណ្ណោះ | ប្រើ $b = &$a; មិនមែន &$b = $a; |
មិនអាចយោងទៅ constant | $ref = &100; // ខុស! មិនអាចយោងទៅតម្លៃថេរ |
🔄 Reference vs Copy
ការប្រៀបធៀបរវាងការចម្លងនិងការយោង:
🎲 ឧទាហរណ៍ជាក់ស្តែង
ការប្រើ reference ក្នុងស្ថានការណ៍ពិត:
⚠️ ប្រយ័ត្ន: Reference អាចធ្វើឲ្យកូដពិបាកយល់ នៅពេលប្រើច្រើន។ ប្រើតែនៅពេលចាំបាច់ដើម្បីកែប្រែអថេរដើម ឬចៀសវាងការចម្លងទិន្នន័យធំ។
💡 Tips: ប្រើ reference នៅពេលដែលអ្នកត្រូវការកែប្រែអថេរដើមក្នុងមុខងារ ឬធ្វើការជាមួយទិន្នន័យធំដើម្បីចៀសវាងការចំណាយ memory។