php函数间的参数传递(值传递/引用传递)_php技巧
php:函数间的参数传递
1.值传递
function exam($var1){
$var1++;
echo "In Exam:" . $var1 . "
";
}
$var1 = 1;
echo $var1 . "
";
exam($var1);
echo $var1 . "
";
?>
-------------------------------------------------------------------------------
输出结果:
1
In Exam: 2
1
-------------------------------------------------------------------------------
2.引用传递
function exam( &$var1){
$var1++;
echo "In Exam:" . $var1 . "
";
}
$var1 = 1;
echo $var1 . "
";
exam($var1);
echo $var1 . "
";
?>
-------------------------------------------------------------------------------
输出结果:
1
In Exam: 2
2
-------------------------------------------------------------------------------
3.可选参数
function values($price, $tax=""){
$price += $prive * $tax;
echo "Total Price:" . $price . "
";
}
values(100, 0.25);
values(100);
输出结果:
Total Price: 125
Total Price: 100
-------------------------------------------------------------------------------
4.如果传入的是一个对象,可以更改该对象的值
(实际上变量$obj记录的是这个对象的句柄,将$obj作为参数传入,完全可以对原对象进行操作。)
class Obj{
public $name;
public $age;
public $gander;
public function __construct($name, $age, $gander){
$this->name = $name;
$this->age = $age;
$this->gander = $gander;
}
public function show_info(){
echo $this->name . " " . $this->age . " " . $this->gander . "
";
}
}
function grow($obj){
$obj->age++;
}
function test(){
$obj = new Obj("Mr. zhan", "12", "male");
$obj->show_info();
grow($obj);
$obj->show_info();
grow($obj);
$obj->show_info();
}
test();
?>
-------------------------------------------------------------------------------
输出结果:
Mr. zhan 12 male
Mr. zhan 13 male
Mr. zhan 14 male

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

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

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas











Untuk mengoptimumkan prestasi lulus parameter fungsi Go, amalan terbaik termasuk: menggunakan jenis nilai untuk mengelakkan penyalinan jenis nilai kecil menggunakan penunjuk untuk menghantar jenis nilai yang besar (struktur menggunakan jenis nilai untuk menghantar hirisan; Dalam amalan, apabila menghantar rentetan JSON yang besar, menghantar penunjuk parameter data boleh meningkatkan prestasi penyahserikatan dengan ketara.

Fungsi pemprosesan imej PHP ialah satu set fungsi yang khusus digunakan untuk memproses dan mengedit imej Ia menyediakan pembangun dengan fungsi pemprosesan imej yang kaya. Melalui fungsi ini, pembangun boleh melaksanakan operasi seperti pemangkasan, penskalaan, putaran dan penambahan tera air pada imej untuk memenuhi keperluan pemprosesan imej yang berbeza. Pertama, saya akan memperkenalkan cara menggunakan fungsi pemprosesan imej PHP untuk mencapai fungsi pemangkasan imej. PHP menyediakan fungsi imagecrop(), yang boleh digunakan untuk memangkas imej. Dengan melepasi koordinat dan saiz kawasan pemangkasan, kita boleh memangkas imej

Prestasi fungsi PHP yang berbeza adalah penting untuk kecekapan aplikasi. Fungsi dengan prestasi yang lebih baik termasuk gema dan cetakan, manakala fungsi seperti str_replace, array_merge dan file_get_contents mempunyai prestasi yang lebih perlahan. Sebagai contoh, fungsi str_replace digunakan untuk menggantikan rentetan dan mempunyai prestasi sederhana, manakala fungsi sprintf digunakan untuk memformat rentetan. Analisis prestasi menunjukkan bahawa ia hanya mengambil masa 0.05 milisaat untuk melaksanakan satu contoh, membuktikan bahawa fungsi berfungsi dengan baik. Oleh itu, menggunakan fungsi dengan bijak boleh membawa kepada aplikasi yang lebih pantas dan cekap.

Fungsi PHP mempunyai persamaan dengan fungsi dalam bahasa lain, tetapi juga mempunyai beberapa ciri unik. Secara sintaksis, fungsi PHP diisytiharkan dengan fungsi, JavaScript diisytiharkan dengan fungsi, dan Python diisytiharkan dengan def. Dari segi parameter dan nilai pulangan, fungsi PHP menerima parameter dan mengembalikan nilai JavaScript dan Python juga mempunyai fungsi yang serupa, tetapi sintaksnya berbeza. Dari segi skop, fungsi dalam PHP, JavaScript dan Python semuanya mempunyai skop global atau tempatan Fungsi global boleh diakses dari mana-mana sahaja, dan fungsi tempatan hanya boleh diakses dalam skop pengisytiharan mereka.

Perbezaan utama antara fungsi PHP dan Flutter ialah pengisytiharan, sintaks dan jenis pulangan. Fungsi PHP menggunakan penukaran jenis pulangan tersirat, manakala fungsi Flutter secara eksplisit menentukan jenis pulangan boleh menentukan parameter pilihan melalui ?, manakala fungsi Flutter menggunakan diperlukan dan [] untuk menentukan parameter yang diperlukan dan pilihan menggunakan = untuk lulus Parameter penamaan; Fungsi flutter menggunakan {} untuk menentukan parameter yang dinamakan.

Terdapat dua cara untuk menghantar parameter dalam PHP: panggilan mengikut nilai (parameter diluluskan sebagai salinan nilai, pengubahsuaian dalam fungsi tidak menjejaskan pembolehubah asal) dan lulus melalui rujukan (alamat parameter diluluskan, pengubahsuaian dalam fungsi akan mempengaruhi pembolehubah asal), apabila pembolehubah asal perlu diubah suai Gunakan hantaran rujukan semasa mengira jumlah harga troli beli-belah, yang memerlukan hantaran rujukan untuk mengira dengan betul.

Fungsi PHP boleh menghantar nilai melalui parameter, yang dibahagikan kepada nilai lulus dan rujukan: nilai lulus: pengubahsuaian parameter dalam fungsi tidak akan menjejaskan nilai asal rujukan: pengubahsuaian parameter dalam fungsi akan menjejaskan nilai asal. Selain itu, tatasusunan juga boleh dihantar sebagai parameter untuk operasi seperti mengira jumlah data.

Gunakan Mockery untuk memanjangkan fungsi PHP dan mensimulasikan gelagat fungsi dengan mengikut langkah berikut: Pasang perpustakaan Mockery. Gunakan Mockery::mock('alias:function name') untuk mencipta fungsi olok-olok, di mana alias digunakan untuk merujuk kepada fungsi olok-olok, dan nama fungsi ialah fungsi yang perlu diejek. Gunakan shouldReceive('function name') dan andReturn() untuk menentukan nilai pulangan atau tingkah laku fungsi simulasi. Fungsi olok-olok boleh dipanggil melalui aliasnya dan akan mengembalikan hasil yang diharapkan.
