PHP编程基础三

PHP函数

PHP函数是一段可以重复使用多次的代码。 它可以接受输入作为参数列表和返回值。 PHP中有成千上万的内置函数。

在PHP中,我们可以定义条件函数,函数内的函数和递归函数。

PHP函数的优点

代码重用性:PHP函数只定义一次,可以多次调用,就像其他编程语言一样。

使用更少的代码:它节省了大量代码,因为我们不需要多次重写逻辑。 通过使用函数,可以只写一次逻辑并重用它。

易于理解:PHP函数分离了编程逻辑。 因此,更容易理解应用程序的流程,因为每个逻辑都被划分为函数的形式。

PHP用户定义函数

我们可以很容易地声明和调用用户定义的函数。下面来看看看声明用户定义函数的语法。

function functionname(){  
	//code to be executed  
}

执行上面代码结果如下 -

PHP函数示例1

文件: function1.php

<?php  
function sayHello(){  
echo "Hello PHP Function";  
}  
sayHello();//calling function  
?>

执行上面代码结果如下 -

Hello PHP Function

函数参数

我们可以通过用逗号分隔的参数传递PHP函数中的信息。
PHP支持按值调用(默认),通过引用调用,默认参数值和可变长度参数列表。

下面来看看看在PHP函数中传递单个参数的例子。
文件: functionarg.php

<?php  
function sayHello($name){  
	echo "Hello $name<br/>";  
}  
sayHello("MaxSu");  
sayHello("MinSu");  
sayHello("John");  
?>

执行上面代码结果如下 -

Hello MaxSu
Hello MinSu
Hello John

下面来看看看在PHP函数中传递两个参数的例子。

文件: functionarg2.php

<?php  
function sayHello($name,$age){  
echo "Hello $name, you are $age years old<br/>";  
}  
sayHello("Maxsu",27);  
sayHello("Minsu",26);  
sayHello("John",23);  
?>

执行上面代码结果如下 -

Hello Maxsu, you are 27 years old
Hello Minsu, you are 26 years old
Hello John, you are 23 years old

PHP引用调用

传递给函数的值默认情况下不会修改实际值(通过值调用)。 但我们可以通过传递值作为参考(引用)。

默认情况下,传递给函数的值是通过值调用。 要传递值作为参考(引用),您需要在参数名称前使用&符号(&)。

下面来看看一个在PHP中通过引用调用的简单示例。

File: functionref.php

<?php  
function adder(&$str2)  
{  
	$str2 .= 'Call By Reference';  
}  
$str = 'Hello ';  
adder($str);  
echo $str;  
?>

执行上面代码结果如下 -

Hello Call By Reference

PHP函数:默认参数值

我们可以在函数中指定默认参数值。 在调用PHP函数时,如果不指定任何参数,它将采用默认参数。 下面来看看一个在PHP函数中使用默认参数值的简单示例。

文件: functiondefaultarg.php

<?php  
function sayHello($name="default_name"){  
	echo "Hello $name<br/>";  
}  
sayHello("maxsu");  
sayHello();//passing no value  
sayHello("John");  
?>

执行上面代码结果如下 -

Hello maxsu
Hello default_name
Hello John

PHP函数:返回值

下面来看看一个有返回值的PHP函数的例子。

文件: functiondefaultarg.php

<?php  
function cube($n){  
return $n*$n*$n;  
}  
echo "Cube of 3 is: ".cube(3);  
?>

执行上面代码结果如下 -

Cube of 3 is: 27

PHP参数化函数

PHP参数化函数是带有参数的函数。 您可以在函数中传递任意数量的参数。 这些传递的参数作为函数中的变量。

它们在函数名称之后,在括号内指定。输出取决于作为参数传递到函数中的动态值。

PHP参数化示例1

加减法

在这个例子中,我们在两个函数add()sub()中传递了两个参数$x$y
文件:para.php

<!DOCTYPE html>
<html lang="zh">
<head>
	<meta charset="utf-8" />
	<title>参数加法和减法示例</title>  
</head>  
<body>  
<?php  
		//Adding two numbers  
		 function add($x, $y) {  
			$sum = $x + $y;  
			echo "Sum of two numbers is = $sum <br><br>";  
		 }   
		 add(300, 700);  

		 //Subtracting two numbers  
		 function sub($x, $y) {  
			$diff = $x - $y;  
			echo "Difference between two numbers is = $diff";  
		 }   
		 sub(1000, 500);  
	  ?>  
</body>  
</html>

执行上面代码得到以下结果 -

PHP参数化示例2

动态数字的加法和减法

在这个例子中,我们在两个函数add()sub()中传递了两个参数$x$y
文件:para.php

<?php  
//add() function with two parameter  
function add($x,$y)    
{  
	$sum=$x+$y;  
	echo "Sum = $sum <br><br>";  
}  
//sub() function with two parameter  
function sub($x,$y)    
{  
	$sub=$x-$y;  
	echo "Diff = $sub <br><br>";  
}  
//call function, get  two argument through input box and click on add or sub button  
if(isset($_POST['add']))  
{  
	//call add() function  
	 add($_POST['first'],$_POST['second']);  
}     
if(isset($_POST['sub']))  
{  
	//call add() function  
	sub($_POST['first'],$_POST['second']);  
}  
?>  
<form method="post">  
Enter first number: <input type="number" name="first"/><br><br>  
Enter second number: <input type="number" name="second"/><br><br>  
<input type="submit" name="add" value="ADDITION"/>  
<input type="submit" name="sub" value="SUBTRACTION"/>  
</form>

分别输入:100和200,点击“ADDITION”得到以下结果 -

PHP函数按值调用

PHP允许通过值和引用调用函数。在通过值调用PHP的情况下,如果在函数内修改,则不会修改实际值。

让我们通过例子的帮助理解按值调用的概念。

实例1

在这个例子中,变量$str被传递给加法器函数,它与’Call By Value‘字符串连接。 但是,打印$str变量的结果只是:’Hello‘。 这是因为修改值只是在局部变量$str2中完成。 它不反映到$str变量中。

<?php  
function adder($str2)  
{  
	$str2 .= 'Call By Value';  
}  
$str = 'Hello ';  
adder($str);  
echo $str;  
?>

执行结果 -

Hello

实例2

让我们通过另一个例子来理解PHP按值调用的概念。

<?php  
function increment($i)  
{  
	$i++;  
}  
$i = 10;  
increment($i);  
echo $i;  
?>

执行结果 -

10

PHP函数按引用调用

在PHP中,通过引用调用的情况下,如果在函数内修改实际值,则修改了变量的值。 在这种情况下,需要使用&(和号)符号与形式参数。&表示变量的引用。

让我们通过下面的例子来帮助理解引用调用的概念。

实例1

在这个例子中,变量$str被传递给加法器函数,它与“Call By Reference”字符串连接。 在这里,打印$str变量的结果值为:’this is Call By Reference‘。 这是因为改变的是变量$str的实际值。

<?php  
function adder(&$str2)  
{  
	$str2 .= 'Call By Reference';  
}  
$str = 'This is ';  
adder($str);  
echo $str;  
?>

输出结果如下 -

This is Call By Reference

实例2

让我们通过另一个例子来理解PHP中引用调用的概念。

<?php  
function increment(&$i)  
{  
	$i++;  
}  
$i = 10;  
increment($i);  
echo $i;  
?>

输出结果如下 -

11

PHP带默认参数值函数

PHP允许您定义C++样式的默认参数值。 在这种情况下,如果不传递任何值到函数,它将使用默认参数值。

下面来看看看在PHP函数中使用默认参数的简单例子。

实例1

<?php  
function sayHello($name="Ram"){  
echo "Hello $name<br/>";  
}  
sayHello("Maxsu");  
sayHello();//passing no value  
sayHello("Vimsu");  
?>

执行上面代码得到以下结果 -

Hello Maxsu
Hello Ram
Hello Vimsu

实例2

<?php    
function greeting($first="Max",$last="su"){    
	echo "Greeting: $first $last<br/>";    
}    
greeting();  
greeting("Min");  
greeting("Michael","Clark");  
?>

执行上面代码得到以下结果 -

Greeting: Max su
Greeting: Min su
Greeting: Michael Clark

实例3

<?php  
function add($n1=10,$n2=10){  
	$n3=$n1+$n2;  
	echo "Addition is: $n3<br/>";  
}  
add();  
add(20);  
add(40,40);  
?>  
?>

执行上面代码得到以下结果 -

Addition is: 20
Addition is: 30
Addition is: 80

PHP可变长度参数函数

PHP支持可变长参数函数。这让我们可以在函数中传递0,1,...或n个参数。 为此,您需要在参数名称前使用3个省略号(点)。

3点(...)概念是从PHP 5.6开始实现的可变长参数。下面来看看一个简单的例子PHP变长参数函数。

<?php  
function add(...$numbers) {  
	$sum = 0;  
	foreach ($numbers as $n) {  
		$sum += $n;  
	}  
	return $sum;  
}  

echo add(1, 2, 3, 4);  
?>

输出结果如下 -

10

PHP递归函数

PHP还支持递归函数调用像C/C++。 在这种情况下,我们在函数内调用当前函数。 它也称为递归。

建议避免递归函数调用超过200个递归级别,因为它可能会摧毁堆栈,并最终可能导致脚本的终止。

示例1:打印数字

<?php    
function display($number) {    
	if($number<=5){    
	 echo "$number <br/>";    
	 display($number+1);    
	}  
}    

display(1);    
?>

执行上面代码,得到以下结果 -

1
2
3
4
5

示例2:数字阶乘

<?php    
function factorial($n)    
{    
	if ($n < 0)    
		return -1; /*Wrong value*/    
	if ($n == 0)    
		return 1; /*Terminating condition*/    
	return ($n * factorial ($n -1));    
}    

echo factorial(5);    
?>

执行上面代码得到以下结果 -

120

PHP数组

PHP数组是一个有序映射(包含基于键的值)。 它用于在单个变量中保存相似类型的多个值。

PHP数组的优点

更少的代码:不需要定义多个变量。
易于遍历: 通过使用单循环,遍历数组的所有元素。
排序: 可以对数组的元素进行排序。

PHP数组类型

PHP中有3种类型的数组。

  • 索引数组
  • 关联数组
  • 多维数组

PHP索引数组

PHP索引是由从0开始的数字表示。我们可以在PHP数组中存储数字,字符串和对象。 默认情况下,所有PHP数组元素都被分配给索引号。

有两种方法来定义索引数组:
第一种方式:

<?php
$season=array("summer","winter","spring","autumn");  
// 等效于以下方式
$season=array(0=>"summer",1=>"winter",2=>"spring",3=>"autumn");  
?>

第二种方式:

<?php
$season[0]="summer";  
$season[1]="winter";  
$season[2]="spring";  
$season[3]="autumn";
?>

示例

文件:array1.php

<?php  
$season=array("summer","winter","spring","autumn");  
echo "Season are: $season[0], $season[1], $season[2] and $season[3]";  
?>

执行上面代码得到以下结果 -

Season are: summer, winter, spring and autumn

文件: array2.php

<?php  
$season[0]="summer";  
$season[1]="winter";  
$season[2]="spring";  
$season[3]="autumn";  
echo "Season are: $season[0], $season[1], $season[2] and $season[3]";  
?>

执行上面代码得到以下结果 -

Season are: summer, winter, spring and autumn

PHP关联数组

我们可以使用=>符号将名称与PHP中的每个数组元素的值相关联。

有两种方法来定义关联数组:

第一种方式:

<?php  
$salary=array("key1"=>"350000","key2"=>"450000","minsu"=>"200000");  
?>

第二种方式:

<?php  
$salary["key1"]="350000";  
$salary["key2"]="450000";  
$salary["minsu"]="200000";  
?>

关联数组示例

文件: arrayassociative1.php

<?php    
$salary=array("Hema"=>"350000","John"=>"450000","Kartik"=>"200000");    
echo "Hema salary: ".$salary["Hema"]."<br/>";  
echo "John salary: ".$salary["John"]."<br/>";  
echo "Kartik salary: ".$salary["Kartik"]."<br/>";  
?>

执行上面代码得到以下结果 -

Hema salary: 350000
John salary: 450000
Kartik salary: 200000

文件: arrayassociative2.php

<?php    
$salary["Hema"]="350000";    
$salary["John"]="450000";    
$salary["Kartik"]="200000";    
echo "Hema salary: ".$salary["Hema"]."<br/>";  
echo "John salary: ".$salary["John"]."<br/>";  
echo "Kartik salary: ".$salary["Kartik"]."<br/>";  
?>

执行上面代码得到以下结果 -

Hema salary: 350000
John salary: 450000
Kartik salary: 200000

PHP索引数组

PHP索引数组是一个数组,默认情况下由索引号表示。 数组的所有元素是由从0开始的索引号来表示的。

PHP索引数组可以存储数字,字符串或任何对象。 PHP索引数组也称为数值数组。

定义

有两种方法来定义索引数组:

第一种方式:

$size=array("Big","Medium","Short");

第二种方式:

$size[0]="Big";  
$size[1]="Medium";  
$size[2]="Short";

PHP索引数组示例

文件:array1.php

<?php  
$size=array("Big","Medium","Short");  
echo "Size: $size[0], $size[1] and $size[2]";  
?>

上面代码执行结果如下 -

Size: Big, Medium and Short

文件: array2.php

<?php  
$size[0]="Big";  
$size[1]="Medium";  
$size[2]="Short";  
echo "Size: $size[0], $size[1] and $size[2]";  
?>

上面代码执行结果如下 -

Size: Big, Medium and Short

遍历PHP索引数组

我们可以使用foreach循环在PHP中来遍历数组。 下面来看看一个简单遍历PHP数组的所有元素的例子。

文件:array3.php

<?php  
$size=array("Big","Medium","Short");  
foreach( $size as $s )  
{  
  echo "Size is: $s<br />";  
}  
?>

执行结果如下 -

Size is: Big
Size is: Medium
Size is: Short

PHP索引数组的计数长度

PHP提供count()函数来计算并返回数组的长度。

<?php  
$size=array("Big","Medium","Short");  
echo count($size);  
?>

执行结果如下 -

3

PHP关联数组

PHP允许在PHP中使用=>符号将名称/标签与每个数组元素相关联。使用这种方式,可以很容易记住元素,因为每个元素由标号表示一个递增的数字。

定义

有两种方法来定义关联数组:

第一种方式:

$salary=array("Hema"=>"550000","Vimal"=>"250000","Ratan"=>"200000");

第二种方式:

$salary["Hema"]="550000";  
$salary["Vimal"]="250000";  
$salary["Ratan"]="200000";

示例

文件:arrayassociative1.php

<?php    
$salary=array("Hema"=>"550000","Vimal"=>"250000","Ratan"=>"200000");  
echo "Hema salary: ".$salary["Hema"]."<br/>";  
echo "Vimal salary: ".$salary["Vimal"]."<br/>";  
echo "Ratan salary: ".$salary["Ratan"]."<br/>";  
?>

上面代码执行输出结果 -

Hema salary: 550000
Vimal salary: 250000
Ratan salary: 200000

文件:arrayassociative2.php

<?php    
$salary["Maxsu"]="550000";  
$salary["Vimal"]="250000";  
$salary["Ratan"]="200000";   
echo "Maxsu salary: ".$salary["Maxsu"]."<br/>";  
echo "Vimal salary: ".$salary["Vimal"]."<br/>";  
echo "Ratan salary: ".$salary["Ratan"]."<br/>";  
?>

上面代码执行输出结果 -

Maxsu salary: 550000
Vimal salary: 250000
Ratan salary: 200000

遍历PHP关联数组

使用PHP的foreach循环,我们可以很容易地遍历PHP关联数组的元素。

<?php    
$salary=array("Maxsu"=>"550000","Vimal"=>"250000","Ratan"=>"200000");  
foreach($salary as $k => $v) {  
	echo "Key: ".$k." Value: ".$v."<br/>";  
}  
?>

上面代码执行输出结果 -

Key: Maxsu Value: 550000
Key: Vimal Value: 250000
Key: Ratan Value: 200000

PHP多维数组

PHP多维数组也称为数组数组。 它允许您将表式数据存储在数组中。 PHP多维数组可以以由行 *列表示的矩阵形式表示。

定义

$emp = array  
  (  
  array(1,"sonoo",400000),  
  array(2,"john",450000),  
  array(3,"rahul",300000)  
  );

PHP多维数组示例

下面来看看一个简单的PHP多维数组的例子,如下面的表格数据。 在这个例子中,显示3行和3列。

编号 姓名 薪水
1 sonoo 400000
2 john 450000
3 rahul 30000

文件:multiarray.php

<?php    
$emp = array  
  (  
  array(1,"sonoo",400000),  
  array(2,"john",450000),  
  array(3,"rahul",300000)  
  );  

for ($row = 0; $row < 3; $row++) {  
  for ($col = 0; $col < 3; $col++) {  
	echo $emp[$row][$col]."  ";  
  }  
  echo "<br/>";  
}  
?>

执行输出结果如下 -

1 sonoo 400000 
2 john 450000 
3 rahul 300000

PHP数组函数

PHP提供了各种数组函数来访问和操作数组的元素。 下面给出了重要的PHP数组函数。

1. PHP array()函数

PHParray()函数创建并返回一个数组。 它允许您创建索引,关联和多维数组。

语法

array array ([ mixed $... ] )

示例

<?php
$season=array("summer","winter","spring","autumn");    
echo "Season are: $season[0], $season[1], $season[2] and $season[3]";    
?>

输出结果如下-

Season are: summer, winter, spring and autumn

2. PHP array_change_key_case()函数

PHParray_change_key_case()函数更改数组的所有键的大小写。

注意:它仅更改键的大小写。

语法:

array array_change_key_case ( array $array [, int $case = CASE_LOWER ] )

示例1

<?php
$salary=array("Maxsu"=>"550000","Vimal"=>"250000","Ratan"=>"200000");    
print_r(array_change_key_case($salary,CASE_UPPER));   
?>

输出结果如下 -

Array ( [SONOO] => 550000 [VIMAL] => 250000 [RATAN] => 200000 )

示例2

<?php
$salary=array("Maxsu"=>"550000","Vimal"=>"250000","Ratan"=>"200000");    
print_r(array_change_key_case($salary,CASE_LOWER));   
?>

输出结果如下 -

Array ( [maxsu] => 550000 [vimal] => 250000 [ratan] => 200000 )

3. PHP array_chunk()函数

PHParray_chunk()函数将数组拆分为块。通过使用array_chunk()方法,可以将数组分成许多部分。

语法:

array array_chunk ( array $array , int $size [, bool $preserve_keys = false ] )

实例

<?php
$salary=array("Maxsu"=>"550000","Vimal"=>"250000","Ratan"=>"200000");    
print_r(array_chunk($salary,2));   
?>

输出结果如下-

Array (
[0] => Array ( [0] => 550000 [1] => 250000 ) 
[1] => Array ( [0] => 200000 )
)

4. PHP count()函数

PHPcount()函数计算数组中的所有元素的数量。

语法

int count ( mixed $array_or_countable [, int $mode = COUNT_NORMAL ] )

示例

<?php
$season=array("summer","winter","spring","autumn");    
echo count($season);    
?>

上面代码输出结果如下 -

4

5. PHP sort()函数

PHPsort()函数排序数组中的所有元素。

语法

bool sort ( array &$array [, int $sort_flags = SORT_REGULAR ] )

实例

<?php
$season=array("summer","winter","spring","autumn");    
sort($season);  
foreach( $season as $s )    
{    
  echo "$s<br />";    
}    
?>

上面代码输出结果如下 -

autumn
spring
summer
winter

6. PHP array_reverse()函数

PHParray_reverse()函数返回一个包含相反顺序的元素的数组。

语法

array array_reverse ( array $array [, bool $preserve_keys = false ] )

示例

<?php
$season=array("summer","winter","spring","autumn");    
$reverseseason=array_reverse($season);  
foreach( $reverseseason as $s )    
{    
  echo "$s<br />";    
}    
?>

输出结果如下 -

autumn
spring
winter
summer

7. PHP array_search()函数

PHParray_search()函数搜索数组中的指定值。 如果搜索成功,则返回键。

语法

mixed array_search ( mixed $needle , array $haystack [, bool $strict = false ] )

示例

<?php
$season=array("summer","winter","spring","autumn");    
$key=array_search("spring",$season);  
echo $key;    
?>

上面代码输出结果如下 -

2

8. PHP array_intersect()函数

PHParray_intersect()函数返回两个数组的交集。 换句话说,它返回两个数组的匹配元素。

语法

array array_intersect ( array $array1 , array $array2 [, array $... ] )

示例

<?php
$name1=array("maxsu","john","vivek","minsu");    
$name2=array("umesh","maxsu","kartik","minsu");    
$name3=array_intersect($name1,$name2);  
foreach( $name3 as $n )    
{    
  echo "$n<br />";    
}    
?>

上面代码输出结果如下 -

maxsu
minsu

 

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇