1.简单函数
     函数四要素:返回类型,函数名,参数列表,函数体

function Show()
{
      echo "hello";
}
Show();         输出了hello

2.有返回值的函数
function Show()
{
     return "hello";
}
echo Show();

 3.有参数的函数
function Show()
{
     echo $a;
}
Show("你好");

4.可变参数的函数
function Sum()
{
     $attr=func_get_args();      获取用户传的参数,会返回一个数组
     var_dumo($attr);
}
Sum(1,2,3);        这个方法可以动态的获取参数的个数

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);          做了个累加,数量是可以完全变化的,动态获取

数组 是专用来存储的一个结构
$attr = array(1,2);        括号里可以写参数
$attr1 = [1,2,3,4,5];
$attr2[1]="hello";
var_dump($attr);

1.索引数组

$attr = array(1,2,3);
var_dump($attr);

2.关联数组
$attr1 = array("one"=>1,"two"=>2,"3"=>3);
var_dump($attr1);
echo $attr1[3];       自动转换类型

特点:
1.数组里面可以存储任意类型数据
2.数组存储的时候并不是在内存里面开辟一块连续的区域存储

遍历数组
1. for循环遍历 关联数组不能用for循环,只能遍历索引数组

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

2. foreach 遍历 索引,关联都可以遍历
foreach($attr1 as $v)
{
     echo $v."<br>";
}

解析变量 同时遍历索引和值
foreach($attr1 as $k=>$v)
{
      echo "{$k}--{$v}<br>";
}
3.each()和list()配合着遍历数组
var_dump(each($attr1));    取数组里面当前指针指向的元素

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

怎么配合着遍历数组?

list($k,$v) = each($attr1));

echo $k;

while(list($k,$v) = each($attr1))
{
      echo"{$k}--{$v}<br>";
}

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

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

用以上方法来遍历数组
for ($i=0;$1<count($attr1);$i++)
{
       echo key($attr1);
       next($attr1);
}

do
{
       echo key($attr1);
}
while(next($attr1))

PHP 函数基础的更多相关文章

  1. 速战速决 (3) - PHP: 函数基础, 函数参数, 函数返回值, 可变函数, 匿名函数, 闭包函数, 回调函数

    [源码下载] 速战速决 (3) - PHP: 函数基础, 函数参数, 函数返回值, 可变函数, 匿名函数, 闭包函数, 回调函数 作者:webabcd 介绍速战速决 之 PHP 函数基础 函数参数 函 ...

  2. JavaScript 函数基础

    1. JavaScript 函数基础 1. 定义方法 2. 函数的调用方法 3. 函数方法 apply : 将函数作为数组的方法来调用 将参数以数组形式传递给该方法 call   : 将函数作为对象的 ...

  3. Python 函数基础、有序集合、文件操作(三)

    一.set 特点: set是一个无序且不重复的元素集合访问速度快:天生解决元素重复问题 方法: 初始化 >>> s1 = set()>>> print(type(s ...

  4. 【2017-03-05】函数基础、函数四种结构、ref和out参数、递归

    一.函数基础 1.函数/方法:非常抽象独立完成某项功能的一个个体 2.函数的作用: 提高代码的重用性提高功能开发的效率提高程序代码的可维护性 3.分类 固定功能函数高度抽象函数 4.函数四要素:输入, ...

  5. PHP基础入门(三)---PHP函数基础

    PHP基础入门(三)---函数 今天来给大家分享一下PHP的函数基础.有了前两章的了解,想必大家对PHP有了一定的基础了解.想回顾前两章的朋友可以点击"PHP基础入门(一)"&qu ...

  6. PHP基础入门(二)【PHP函数基础】

    PHP基础入门(二)--函数基础 了解 PHP基础入门详解(一) 后,给大家分享一下PHP的函数基础. 这部分主要讲的就是: 函数的声明与使用.PHP中变量的作用域.静态变量.函数的参数传递.变量函数 ...

  7. 09-Python入门学习-函数基础与参数

    一.函数基础 1.定义函数的三种形式 1.1 无参函数 def foo(): print('from foo') foo() 1.2 有参函数 def bar(x,y): print(x,y) bar ...

  8. Python学习day9 函数Ⅰ(基础)

    函数Ⅰ(基础) 三目运算 基本结构 v =  前面  if 条件 else 后面    #条件为真v=前面,条件为假v=后面.​#等同于if 条件: v = '前面'else:    v = '后面' ...

  9. Python学习笔记-函数基础

    函数基础 定义: 函数是指将一组语句的集合通过一个名字(函数名)封装起来,要想执行这个函数,只需调用其函数名即可 为什么使用函数:减少重复代码.使程序变的可扩展使程序变得易维护 1.定义一个函数 #定 ...

  10. javaScript系列 [01]-javaScript函数基础

    [01]-javaScript函数基础 1.1 函数的创建和结构 函数的定义:函数是JavaScript的基础模块单元,包含一组语句,用于代码复用.信息隐蔽和组合调用. 函数的创建:在javaScri ...

随机推荐

  1. Fiddler 工作原理

    Fiddler工作原理: 就在在客户端与服务器端创建一个代理服务器: 在开启Fiddler后,Fiddler会自动窜改浏览器的代理,例如我们打开Fiddler,打开IE浏览器--设置--Interne ...

  2. PHP使用XHProf进行性能分析

    1. 编译安装 wget http://pecl.php.net/get/xhprof-0.9.3.tgz tar zxvf xhprof-0.9.3.tgz cd xhprof-0.9.3/exte ...

  3. laravel中如何写验证码文件,并防止中文乱码.

    本例为生成中文验证码,专为laravel而生. //控制器: public function getVcode(Request $request){ $width=845; $height=125; ...

  4. session和cookie的简单理解

    0. 引子,我们为什么要cookie和session       因为http请求是无状态的(不能记录用户的登录状态等),所以需要某种机制来保存用户的登录状态等信息,在下次访问web服务的时候,不用再 ...

  5. 【分块打表】bzoj3798 特殊的质数

    块大小为10^5. #include<cstdio> using namespace std; const int table[] = {0, 4784, 8978, 12981, 169 ...

  6. 经典排序算法(PHP)

    1.冒泡算法,排序算法,由于在排序过程中总是小数往前放,大数往后放,相当于气泡往上升,所以称作冒泡排序 function maopao_fun($array){ $count = count($arr ...

  7. jdk1.6 webService 客户端代码生成和测试

    参数:测试webService的地址:http://10.113.11.1:9090/enocpService/buildingEngService?wsdl 1,eclipse中新建一个项目, 2, ...

  8. [UDP] UDP 报文数据(CoAP protocol)

    UDP 机器控制项目 协议报文格式: Ver +                  T       +     TKL + Code + MessageID + 11111111 + Command ...

  9. React学习笔记---项目构建

    简介 ReactJs由于有FB的支持,得到了社区的极大关注,同时由于ReactJs只希望专一的做好View层次上的工作,所以本身并没有涉及很多周边工具. 今天要介绍一款工具,同时包含一个构建项目模板的 ...

  10. listview(3、动态刷新)

    listview的动态刷新主要是调用adapter的notifyDataSetChanged. 在下面的例子中除了记录正常的刷新外,还记录一种错误的情况(注释掉的),作为备忘. notifyDataS ...