关于php自定义函数及内部函数讲解
一、变量作用域
也称作为变量的范围,变量的范围即它定义的上下文背景(也是它的生效范围),
大部分的PHP变量只有一个单独范围,这个单独的范围跨度同样包含include 和 require 引入的文件。
global 关键字:函数内部可以使用global关键字,访问全局变量
也可以通过$GLOBALS 及 其他超全局数组
比如:
$str = 'xxxx'; function test(){ //方法一: global $str; echo $str; //方法二 //echo $GLOBALS['str'] }
二、静态变量
静态变量仅在局部函数域中存在,但当程序执行离开此作用域时其值并不会消失
static关键字
仅初始化一次
初始化时需要赋值
每次执行函数该值会保留
static修饰的变量是局部的,仅在函数内部有效
可以记录函数的调用次数,从而可以在某些条件下终止递归
2.1、全局变量、静态变量
<?php /** * 写出如下程序的输出结果: * <?php * * $count = 5; * function get_count() * { * static $count; * return $count++; * } * echo $count; * ++$count; * * echo get_count(); * echo get_count(); * * ?> * */ $count = 5; function get_count() { static $count; return $count++; } echo $count;//5 ++$count; //这里还涉及到运算符:递减NULL值没有效果,但是递增NULL值为1 echo get_count();//null,第一次定义的static $count,内容为null,现返回内容null,再null++,结果为1 echo get_count();//1,static $count = 1,现返回1,再递增
2.2、函数传递
<?php $var1 = 5; $var2 = 10; function foo(&$my_var) { global $var1; $var1 += 2; $var2 = 4; $my_var += 3; return $var2; } $my_var = 5; echo foo($my_var). "\n";//4 echo $my_var. "\n";//8 echo $var1;//7 echo $var2;//10 $bar = 'foo'; $my_var = 10; echo $bar($my_var). "\n";//4
2.3、函数的引用返回
从函数返回一个引用,必须在函数声明和指派返回值给一个变量都是用引用运算符& <?php function &myFunc() { static $b = 10; return $b; } echo myFunc();//10 $a = &myFunc();//此步a直接引用到b的地址 $a = 100;//修改a的值,相当于修改b的值 echo myFunc();//100 ,因为b是一个静态变量,该值会保留
三、外部文件的导入
如果给出路径名按照路径来找,否则从include_path中查找
如果include_path中也没有,则从调用脚本文件所在的目录和当前工作目录下寻找
当一个文件被包含时,其中所包含的代码继承了include所在行的变量范围
假如以上都没有找到,那么如下报错或者警告
require 及 require_once:失败时会产生一个致命级别错误,并停止程序运行。
include 及 include_once :失败时只产生一个警告级别错误,程序继续运行。
两者唯一区别在于当所包含的文件代码已经存在时候,不在包含
四、系统内置函数
4.1、时间日期函数
date() //格式化时间戳
strtotime() //将英文文本日期时间解析为 Unix 时间戳
mktime() //整数 Unix 时间戳
time() //获取当前时间时间戳
microtime() //获取毫秒
date_default_timezone_set() //设置默认时区
4.2、ip处理函数
long2ip : 将长整型转化为字符串形式带点的互联网标准格式地址(IPV4)
ip2long : 将 IPV4 的字符串互联网协议转换成长整型数字
4.3、打印函数
echo()
可以一次输出多个值,多个值之间用逗号分隔。echo是语言结构(language construct),而并不是真正的函数,因此不能作为表达式的一部分使用。
print():简单类型变量的值(如int,string)
函数print()打印一个值(它的参数),如果字符串成功显示则返回true,否则返回false。
print_r():可以打印出复杂类型变量的值(如数组,对象)
可以把字符串和数字简单地打印出来,而数组则以括起来的键和值得列表形式显示,并以Array开头。但print_r()输出布尔值和NULL的结果没有意义,因为都是打印"\n"。因此用var_dump()函数更适合调试。
打印关于变量的易于理解的信息,如果给出的是 string、integer 或 float,将打印变量值本身。如果给出的是 array,将会按照一定格式显示键和元素。object 与数组类似。 记住,print_r() 将把数组的指针移到最后边。使用 reset() 可让指针回到开始处。
var_dump()
此函数显示关于一个或多个表达式的结构信息,包括表达式的类型与值。数组将递归展开值,通过缩进显示其结构。
判断一个变量的类型与长度,并输出变量的数值,如果变量有值输的是变量的值并回返数据类型。此函数显示关于一个或多个表达式的结构信息,包括表达式的类型与值。数组将递归展开值,通过缩进显示其结构。
var_export():输出或返回一个变量的字符串表示
此函数返回关于传递给该函数的变量的结构信息
您可以通过将函数的第二个参数设置为 TRUE,从而返回变量的表示。是其返回的表示是合法的 PHP 代码。
var_dump和print_r的区别: var_dump返回表达式的类型与值而print_r仅返回结果,相比调试代码使用var_dump更便于阅读。 var_dump和var_export的区别: var_export() 函数返回关于传递给该函数的变量的结构信息,是合法的 PHP 代码,可以通过将函数的第二个参数设置为 TRUE,从而返回变量的表示 var_dump() 打印变量的相关信息 printf():根据格式进行输出 sprintf():根据格式转换字符串,并返回
4.4、序列化serialize和反序列化unserialize
<?php $a = array('a' => 'Apple' ,'b' => 'banana' , 'c' => 'Coconut'); //序列化数组 $s = serialize($a); echo $s; //输出结果:a:3:{s:1:"a";s:5:"Apple";s:1:"b";s:6:"banana";s:1:"c";s:7:"Coconut";} echo '<br /><br />'; //反序列化 $o = unserialize($s); print_r($o); //输出结果 Array ( [a] => Apple [b] => banana [c] => Coconut )
4.5、json_encode 和 json_decode
<?php $a = array('a' => 'Apple' ,'b' => 'banana' , 'c' => 'Coconut'); //序列化数组 $s = json_encode($a); echo $s; //输出结果:{"a":"Apple","b":"banana","c":"Coconut"} echo '<br /><br />'; //反序列化 $o = json_decode($s); 在上面的例子中,json_encode输出长度比上个例子中serialize输出长度显然要短
4.6、字符串函数
php 字符串使用总结
4.7、数组函数
php 数组操作
相关推荐:
Atas ialah kandungan terperinci 关于php自定义函数及内部函数讲解. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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

AI Hentai Generator
Menjana ai hentai secara percuma.

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



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

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

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

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

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,

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

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 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.
