Rumah pembangunan bahagian belakang masalah PHP Apakah maksud lulus nilai dalam php

Apakah maksud lulus nilai dalam php

Jan 28, 2023 pm 06:41 PM
php

Dalam PHP, hantaran nilai bermaksud menyalin parameter sebenar apabila memanggil fungsi dan kemudian menghantarnya ke parameter formal fungsi Sebenarnya, parameter formal dan parameter sebenar masing-masing menduduki unit storan yang berbeza. Ciri pemindahan nilai ialah pemindahan sehala, iaitu, apabila fungsi panggilan dipanggil, unit storan diperuntukkan kepada parameter formal, dan nilai parameter sebenar dihantar ke parameter formal Selepas panggilan selesai , unit storan parameter formal dikeluarkan, dan nilai parameter formal ialah Sebarang perubahan tidak akan menjejaskan nilai parameter sebenar, dan unit storan parameter sebenar masih mengekalkan dan mengekalkan nilai tidak berubah.

Apakah maksud lulus nilai dalam php

Persekitaran pengendalian tutorial ini: sistem windows7, versi PHP8, komputer DELL G3

Apabila memanggil fungsi, anda perlu lulus parameter kepada fungsi. Parameter yang dihantar ke dalam fungsi dipanggil parameter sebenar, manakala parameter yang ditakrifkan oleh fungsi dipanggil parameter formal. Terdapat empat cara untuk menghantar parameter kepada fungsi, iaitu lulus mengikut nilai, lulus dengan rujukan, parameter lalai dan parameter panjang berubah-ubah.

Pelulusan nilai

Pelulusan nilai ialah kaedah pelulusan nilai lalai untuk fungsi dalam PHP, juga dikenali sebagai "salinan melalui nilai". Seperti namanya, kaedah lulus nilai akan menyalin nilai parameter sebenar dan kemudian menyerahkannya kepada parameter formal fungsi, jadi mengendalikan nilai parameter dalam fungsi tidak akan menjejaskan parameter sebenar di luar fungsi. Oleh itu, jika anda tidak mahu fungsi mengubah suai nilai parameter sebenar, anda boleh menghantarnya mengikut nilai.

Ciri pemindahan nilai ialah pemindahan sehala, iaitu, apabila fungsi panggilan dipanggil, unit storan diperuntukkan kepada parameter formal, dan nilai parameter sebenar dipindahkan ke parameter formal Selepas panggilan selesai, parameter formal disimpan Unit dikeluarkan, dan sebarang perubahan dalam nilai parameter formal tidak akan menjejaskan nilai parameter sebenar Unit storan parameter sebenar masih mengekalkan dan mengekalkan nilai tidak berubah.

[Contoh] Tentukan fungsi mudah di bawah Fungsi mempunyai dua parameter, dan nilai parameter ditukar dalam fungsi.

<?php
    function swap($a, $b){
        echo &#39;函数内,交换前 $a = &#39;.$a.&#39;, $b = &#39;.$b.&#39;<br>&#39;;
        $temp = $a;
        $a = $b;
        $b = $temp;
        echo &#39;函数内,交换后 $a = &#39;.$a.&#39;, $b = &#39;.$b.&#39;<br>&#39;;
    }
    $x = 5;
    $y = 7;
    echo &#39;函数外,交换前 $x = &#39;.$x.&#39;, $y = &#39;.$y.&#39;<br>&#39;;
    swap($x, $y);
    echo &#39;函数外,交换后 $x = &#39;.$x.&#39;, $y = &#39;.$y;
?>
Salin selepas log masuk

Keputusan yang dijalankan adalah seperti berikut:

Apakah maksud lulus nilai dalam php

Anda boleh lihat daripada hasil yang dijalankan bahawa dalam fungsi, nilai memang ditukar , manakala di luar fungsi, Nilai berangka tidak berubah. Oleh itu, kita boleh mengatakan bahawa menghantar fungsi mengikut nilai hanyalah menghantar salinan pembolehubah. Jadi jika anda mahu fungsi itu boleh beroperasi pada parameter sebenar di luar fungsi, anda perlu menggunakan hantaran rujukan.

Melalui rujukan

Melalui rujukan ialah menyalin alamat memori parameter sebenar dan kemudian menghantarnya kepada parameter formal Kedua-dua parameter dan parameter formal menghala ke alamat memori yang sama, jadi operasi fungsi pada parameter formal akan mempengaruhi parameter sebenar di luar fungsi.

Melalui rujukan ialah menghantar alamat memori parameter sebenar kepada parameter rasmi fungsi. Oleh itu, parameter sebenar dan parameter formal menghala ke alamat memori yang sama. Pada masa ini, semua operasi di dalam fungsi akan menjejaskan nilai parameter sebenar di luar fungsi. Kaedah lulus melalui rujukan ialah menambah simbol & berdasarkan nilai lulus, seperti yang ditunjukkan di bawah:

function name (&参数1, &参数2, ..., &参数3) {
    ...    
}
Salin selepas log masuk

[Contoh] Laraskan sedikit kod contoh di atas dan gunakan kaedah lulus dengan merujuk kepada fungsi swap Pas parameter masuk, kodnya adalah seperti berikut:

<?php
    function swap(&$a, &$b){
        echo &#39;函数内,交换前 $a = &#39;.$a.&#39;, $b = &#39;.$b.&#39;<br>&#39;;
        $temp = $a;
        $a = $b;
        $b = $temp;
        echo &#39;函数内,交换后 $a = &#39;.$a.&#39;, $b = &#39;.$b.&#39;<br>&#39;;
    }
    $x = 5;
    $y = 7;
    echo &#39;函数外,交换前 $x = &#39;.$x.&#39;, $y = &#39;.$y.&#39;<br>&#39;;
    swap($x, $y);
    echo &#39;函数外,交换后 $x = &#39;.$x.&#39;, $y = &#39;.$y;
?>
Salin selepas log masuk

Keputusan yang dijalankan adalah seperti berikut:

Apakah maksud lulus nilai dalam php

Perbezaan hantaran nilai PHP dan hantaran rujukan

Pemindahan nilai: dalam skop fungsi, menukar nilai pembolehubah tidak akan menjejaskan nilai pembolehubah di luar fungsi.

Lulus melalui rujukan: Dalam skop fungsi, sebarang perubahan pada nilai juga ditunjukkan di luar fungsi, kerana lulus melalui rujukan menghantar alamat memori.

Taip dua keping kod dan anda boleh lihat perbezaan antara kedua-duanya Mari kita lihat intipati melalui fenomena

function sum($a){
  $a++;
  $b = $a;
  return $b;
}
$a = 10;
echo sum($a).&#39;<br />&#39;;//11
echo $a;//10
Salin selepas log masuk
function sum(&$a){
  $a++;
  $b = $a;
  return $b;
}
$a = 10;
echo sum($a).&#39;<br />&#39;;//11
echo $a;//11
Salin selepas log masuk

Perbezaan antara dua keping kod itu terletak pada. parameter jumlah fungsi Satu adalah untuk lulus nilai $a, dan satu lagi adalah untuk lulus rujukan &$a Hasilnya adalah bahawa nilai $a tidak berubah. nilai $a berubah selepas rujukan diluluskan. Kanak-kanak yang telah mempelajari bahasa C di sini akan memahami apa yang berlaku pada timbunan adalah salinan rujukan.

Memandangkan rujukan menunjuk kepada pembolehubah tertentu, operasi pada rujukan sebenarnya ialah operasi pada pembolehubah yang ditunjukkannya. (Fungsi adalah sama seperti menghantar penunjuk, kecuali tidak perlu menyahrujuk) & ialah simbol yang menunjuk ke alamat pembolehubah Parameter formal &$a dalam jumlah fungsi sebenarnya adalah parameter sebenar $a, jadi masukkannya ke dalam jumlah dan lakukan a + Selepas operasi +, nilai parameter sebenar $a sebenarnya berubah, itu sahaja.

Penjelasan:

Nilai parameter asal dalam nilai pass by kekal sebagai nilai asal selepas memanggil fungsi lain, manakala rujukan pass by menukar nilai asal. Apabila menghantar nilai mengikut kaedah lulus mengikut nilai, jika nilai asal perlu diubah, kod perlu disalin Jika nilainya cukup besar atau ia adalah rentetan yang besar, kod akan menjadi lebih banyak berulang-ulang, sambil lulus dengan rujukan adalah Tidak perlu menyalin kod PHP, yang mempunyai kelebihan besar dalam meningkatkan prestasi.

Untuk lebih banyak pengetahuan berkaitan PHP, sila lawati laman web php Cina!

Atas ialah kandungan terperinci Apakah maksud lulus nilai dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Panduan Pemasangan dan Naik Taraf PHP 8.4 untuk Ubuntu dan Debian Panduan Pemasangan dan Naik Taraf PHP 8.4 untuk Ubuntu dan Debian Dec 24, 2024 pm 04:42 PM

PHP 8.4 membawa beberapa ciri baharu, peningkatan keselamatan dan peningkatan prestasi dengan jumlah penamatan dan penyingkiran ciri yang sihat. Panduan ini menerangkan cara memasang PHP 8.4 atau naik taraf kepada PHP 8.4 pada Ubuntu, Debian, atau terbitan mereka

7 Fungsi PHP Saya Menyesal Saya Tidak Tahu Sebelum ini 7 Fungsi PHP Saya Menyesal Saya Tidak Tahu Sebelum ini Nov 13, 2024 am 09:42 AM

Jika anda seorang pembangun PHP yang berpengalaman, anda mungkin merasakan bahawa anda telah berada di sana dan telah melakukannya. Anda telah membangunkan sejumlah besar aplikasi, menyahpenyahpepijat berjuta-juta baris kod dan mengubah suai sekumpulan skrip untuk mencapai op

Cara Menyediakan Kod Visual Studio (Kod VS) untuk Pembangunan PHP Cara Menyediakan Kod Visual Studio (Kod VS) untuk Pembangunan PHP Dec 20, 2024 am 11:31 AM

Kod Visual Studio, juga dikenali sebagai Kod VS, ialah editor kod sumber percuma — atau persekitaran pembangunan bersepadu (IDE) — tersedia untuk semua sistem pengendalian utama. Dengan koleksi sambungan yang besar untuk banyak bahasa pengaturcaraan, Kod VS boleh menjadi c

Jelaskan JSON Web Tokens (JWT) dan kes penggunaannya dalam PHP API. Jelaskan JSON Web Tokens (JWT) dan kes penggunaannya dalam PHP API. Apr 05, 2025 am 12:04 AM

JWT adalah standard terbuka berdasarkan JSON, yang digunakan untuk menghantar maklumat secara selamat antara pihak, terutamanya untuk pengesahan identiti dan pertukaran maklumat. 1. JWT terdiri daripada tiga bahagian: header, muatan dan tandatangan. 2. Prinsip kerja JWT termasuk tiga langkah: menjana JWT, mengesahkan JWT dan muatan parsing. 3. Apabila menggunakan JWT untuk pengesahan di PHP, JWT boleh dijana dan disahkan, dan peranan pengguna dan maklumat kebenaran boleh dimasukkan dalam penggunaan lanjutan. 4. Kesilapan umum termasuk kegagalan pengesahan tandatangan, tamat tempoh, dan muatan besar. Kemahiran penyahpepijatan termasuk menggunakan alat debugging dan pembalakan. 5. Pengoptimuman prestasi dan amalan terbaik termasuk menggunakan algoritma tandatangan yang sesuai, menetapkan tempoh kesahihan dengan munasabah,

Bagaimana anda menghuraikan dan memproses HTML/XML dalam PHP? Bagaimana anda menghuraikan dan memproses HTML/XML dalam PHP? Feb 07, 2025 am 11:57 AM

Tutorial ini menunjukkan cara memproses dokumen XML dengan cekap menggunakan PHP. XML (bahasa markup extensible) adalah bahasa markup berasaskan teks yang serba boleh yang direka untuk pembacaan manusia dan parsing mesin. Ia biasanya digunakan untuk penyimpanan data

Program PHP untuk mengira vokal dalam rentetan Program PHP untuk mengira vokal dalam rentetan Feb 07, 2025 pm 12:12 PM

Rentetan adalah urutan aksara, termasuk huruf, nombor, dan simbol. Tutorial ini akan mempelajari cara mengira bilangan vokal dalam rentetan yang diberikan dalam PHP menggunakan kaedah yang berbeza. Vokal dalam bahasa Inggeris adalah a, e, i, o, u, dan mereka boleh menjadi huruf besar atau huruf kecil. Apa itu vokal? Vokal adalah watak abjad yang mewakili sebutan tertentu. Terdapat lima vokal dalam bahasa Inggeris, termasuk huruf besar dan huruf kecil: a, e, i, o, u Contoh 1 Input: String = "TutorialSpoint" Output: 6 menjelaskan Vokal dalam rentetan "TutorialSpoint" adalah u, o, i, a, o, i. Terdapat 6 yuan sebanyak 6

Terangkan pengikatan statik lewat dalam php (statik: :). Terangkan pengikatan statik lewat dalam php (statik: :). Apr 03, 2025 am 12:04 AM

Mengikat statik (statik: :) Melaksanakan pengikatan statik lewat (LSB) dalam PHP, yang membolehkan kelas panggilan dirujuk dalam konteks statik dan bukannya menentukan kelas. 1) Proses parsing dilakukan pada masa runtime, 2) Cari kelas panggilan dalam hubungan warisan, 3) ia boleh membawa overhead prestasi.

Apakah kaedah Magic PHP (__construct, __destruct, __call, __get, __set, dll) dan menyediakan kes penggunaan? Apakah kaedah Magic PHP (__construct, __destruct, __call, __get, __set, dll) dan menyediakan kes penggunaan? Apr 03, 2025 am 12:03 AM

Apakah kaedah sihir PHP? Kaedah sihir PHP termasuk: 1. \ _ \ _ Membina, digunakan untuk memulakan objek; 2. \ _ \ _ Destruct, digunakan untuk membersihkan sumber; 3. \ _ \ _ Call, mengendalikan panggilan kaedah yang tidak wujud; 4. \ _ \ _ Mendapatkan, melaksanakan akses atribut dinamik; 5. \ _ \ _ Set, melaksanakan tetapan atribut dinamik. Kaedah ini secara automatik dipanggil dalam situasi tertentu, meningkatkan fleksibiliti dan kecekapan kod.

See all articles