PHP函数

Posted 风中摇曳的小花朵

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP函数相关的知识,希望对你有一定的参考价值。

1、简单函数

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head>

<body>
<?php
function show()
{
    echo "hello";
    }
show();


?>




</body>
</html>

2、有返回值的函数

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head>

<body>
<?php
function show()
{
    return "hello";
    }
echo show();


?>

</body>
</html>

3、有参数的函数

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head>

<body>
<?php
function show($a)
{
    echo $a;
    }
show("你好");


?>

</body>
</html>

4、可变参数的函数

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head>

<body>
<?php
function Sum()
{
    $attr = func_get_args();
    $n = func_num_args();
    
    $sum = 0;
    for($i=0;$i<$n;$i++)
    {
        $sum += $attr[$i];
    }
    echo $sum;
}
Sum(1,2,3,4);

?>

</body>
</html>

数组:

是存储数据的一个结构

1、索引数组

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head>

<body>
<?php
$attr=array(1,2);
var_dump($attr);

?>

</body>
</html>

输出的结果:

2、关联数组

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head>

<body>
<?php
$attr=array("one"=>1,"two"=>2);   //one和two是个代号,1和2是给它俩赋的两个值
var_dump($attr);         //输出变量的详细信息
echo $attr["one"];       //用one来取值
$attr1 [1]="hello";       
$attr1 [2]="world";       
var_dump($attr1);        //输出变量的详细信息

?>

</body>
</html>

输出的结果如下:

数组的特点:

1、数组内可以存储任何类型的数据

2、数组并不是在内存里面开辟一块连续的区域存储

遍历数组

1、for循环遍历

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head>

<body>
<?php
$attr = array(1,2,3);
for($i=0;$i<count($attr);$i++)
{
    echo $attr[$i]."<br>";
    }

?>

</body>
</html>

关联数组不能用for循环遍历

for循环遍历只能用于索引数组

2、foreach 遍历

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head>

<body>
<?php
$attr = array(1,2,3);
$attr1 = array("one"=>1,"two"=>2,"3"=>3);
foreach($attr as $v)     //每次循环数组都会扔个变量v一个元素
{
    echo $v."<br>";      //<br>是换行
}

foreach($attr1 as $k=>$v)
{
    echo "{$k}--{$v}<br>";      //解析k解析v
}

?>

</body>
</html>

索引和关联都可以用于foreach遍历

3、each()和list()配合着来遍历数组

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head>

<body>
<?php
$attr = array(1,2,3);
$attr1 = array("one"=>1,"two"=>2,"3"=>3);
var_dump(each($attr1));   
var_dump(each($attr1));
var_dump(each($attr1));
?>

</body>
</html>

输出的结果如下:

当each执行完一次之后,再输出,它会默认跳到下一个去执行

是取数组里面当前指针指向的元素

list()方法,唯一写在左边的方法,

 list($a,$b,$c,$d)=$attr; //将右侧数组里面的元素赋值给参数列表里面的变量
例:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head>

<body>
<?php 
$attr = array(1,2,3);
list($a,$b,$c)=$attr;
echo $a;

?>


</body>
</html>

输出结果为1


还有一种不常用的方式:
while(list($k,$v) = each($attr1))
{
    echo "{$k}--{$v}<br>";
}

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head>

<body>
<?php 

$attr1 = array("one"=>1,"two"=>2,"3"=>3);
while(list($k,$v) = each($attr1))
{
    echo "{$k}--{$v}<br>";
}

?>


</body>
</html>

输出的结果:

 


4、使用指针的方式来遍历数组

echo current($attr1); //取指针指向的当前元素的value值
echo key($attr1); //取指针指向的当前元素的key
next($attr1); //将指针向下调一个
next($attr1);
prev($attr1); //将指针向上调一个
echo key($attr1);
end($attr1); //将指针调向最后一个元素
reset($attr1); //将指针复位

 

以上是关于PHP函数的主要内容,如果未能解决你的问题,请参考以下文章

21个常用代码片段

运行/调试你的PHP代码

PHP必用代码片段

PHP代码-psysh调试代码片段工具

超实用的php代码片段

比较有用的php代码片段