函数和数组

一、函数
函数三要素:1.函数名2.参数列表3.函数体
1.简单函数

function Show()
{
    echo "hello";
}
Show();

运行结果就是在页面显示hello

2.有返回值的函数

function Show()
{
   return "hello";  //返回值
}
echo Show();

运行结果就是返回值return中的值

3.有参数的函数

function Show($a)
{
echo $a;
}
Show("你好");

运行结果不是形参,而是实参中的:你好

4.可变参数的函数

function Sum()
{
    $attr=func_get_args();   //获取get 用户传的 参数args: func_get_args();
    $n=func_num_args();    //获取数量func_num_args();

   //遍历参数
    $Sum=0;
   for($i=0;$i<$n;$i++)
    {
       $Sum +=$attr[$i];

    }
   echo $Sum;
}
Sum(1);   //数值可以换,这样相应的也会变数值

运行结果就是数值中的值

二、数组
注意:1.可以存储任意类型数据;
2.不是在内存中开辟一块连续的区域存储(在内存中是不连续的)

$attr=array();   //定义空数组
$attr1=[1,2];   //定义数组
$attr2[0]="hello"; //赋值定义数组:0索引赋值“hello” 

A.数组类型:
1.索引数组

$attr = array(1,2,3,4);
echo $attr[2];   //输出索引号所指的值

2.关联数组

$attr1=array("one"=>1,"two"=>2,"3"=>3);   //k是one字符串,value是1值,=> 符合
echo $attr1["one"];  //取值

echo $attr1[3];  //没有问题的,因为可以自动转换类型,所以不会出错

B.遍历数组
1.for循环:只能遍历“索引数组”
//count() 数组长度

2.foreach 遍历:关联数组和索引数组都可以遍历

关联数组:$attr1=array("one"=>1,"two"=>2,"3"=>3); 

foreach($attr1 as $a)
{
echo $a."<br>";
}

索引数组:$attr = array(1,2,3,4);
foreach($attr as $a)
{
echo $a."<br>";
}

$attr1=array("one"=>1,"two"=>2,"3"=>3);
foreach($attr1 as $k=>$a)
{
	echo $a="{$k}--{$a}<br>";
}

3.each()和list() 配合遍历 取数组中当前指针指向的元素

$attr1=array("one"=>1,"two"=>2,"3"=>3);
var_dump(each($attr1));    //第一个元素 "one" 和 1
var_dump(each($attr1));   //第二个元素 "two" 和 2
var_dump(each($attr1));   //第三个元素 "3" 和 3
$attr = array(1,2,3,4);
list($a,$b,$c)=$attr;   //赋值,赋的是attr数组中的数值 list方法是在等号左侧
echo $a;

4.使用指针方式

//指针位置没有变
//current(); //取指针指向的当前元素的value值
//key(); //取指针指向的当前元素的key值

//变指针位置
//next(); //执行一次,就向下调一个

//prev(); //执行一次,就向上调一个

//end(); //指针直接调到最后

//reset(); //指针复位

时间: 2024-10-12 16:24:27

函数和数组的相关文章

C#委托与C语言函数指针及函数指针数组

C#委托与C语言函数指针及函数指针数组 在使用C#时总会为委托而感到疑惑,但现在总新温习了一遍C语言后,才真正理解的委托. 其实委托就类似于C/C++里的函数指针,在函数传参时传递的是函数指针,在调用的时候通过指针访问这个函数. 在C语言中函数指针的申明如下: //可以理解为申明一个指着变量 Func ,它的类型是 返回Type(可以为 void )类型的参数,接收 (Type one,Type two,...)类型的//参数(可以不接受参数). Type *Func(Type one,Type

【C/C++学院】0726-cppIDE/一级指针/指针数组/函数指针/函数指针数组/二级指针

[送给在路上的程序员] 对于一个开发者而言,能够胜任系统中任意一个模块的开发是其核心价值的体现. 对于一个架构师而言,掌握各种语言的优势并可以运用到系统中,由此简化系统的开发,是其架构生涯的第一步. 对于一个开发团队而言,能在短期内开发出用户满意的软件系统是起核心竞争力的体现. 每一个程序员都不能固步自封,要多接触新的行业,新的技术领域,突破自我. cppIDE 使用mfc和codeblocks中的mingw编译器.执行system命令中的bat批处理脚本. 一级指针 指针,结构体struct,

C语言中函数指针数组浅析

发现问题 问题分析 示例代码 发现问题 今天,在阅读Linux内核中关于socket的源代码时,遇到了下面一段代码: struct proto_ops { int family; struct module *owner; int (*release) (struct socket *sock); int (*bind) (struct socket *sock, struct sockaddr *myaddr, int sockaddr_len); int (*connect) (struct

PHP移动互联网开发笔记(4)——自定义函数及数组

原文地址:http://www.php100.com/html/php/rumen/2014/0326/6705.html 一.自定义函数 自定义函数就是我们自己定义的函数,在PHP中自定义函数格式如下: function funname(arg1, arg2, arg3......){ //TODO return values; } view source print? 01.<?php  02.function fun($m, $n){  03.if($m==0 || $n==0){  04

shell 函数 返回数组

shell 函数 返回数组,布布扣,bubuko.com

php array_rand()函数从数组中随机选择一个或多个元素

php使用array_rand()函数从数组中随机选择一个或多个元素的方法. 使用array_rand() 函数从数组中随机选出一个或多个元素,并返回. array_rand(array,number) 参数 描述 array 必需.规定输入的数组参数. www.jbxue.com number 可选.默认是 1.规定返回多少个随机的元素. 例子: <?php $a=array("a"=>"Dog","b"=>"Cat

《JS权威指南学习总结--8.8 函数式编程和8.8.1使用函数处理数组》

内容要点:    和Lisp.Haskell不同,JS并非函数式编程语言,但在JS中可以像操控对象一样操控函数,   也就是说可以在JS中应用函数式编程技术.ES5中的数组方法(诸如map()和reduce())就可以非常适用于函数式编程风格. 一.使用函数处理数组    假设有一个数组,数组元素都是数字,我们想要计算这些元素的平均值和标准差.    若用非函数式编程风格的话,代码是这样:         var data = [1,1,3,5,5]; //这里是待处理的数组        //

函数指针与函数指针数组的使用方法

转自:http://blog.csdn.net/feitianxuxue/article/details/7300291 函数指针与函数指针数组的使用方法 函数指针: 函数指针包含函数在内存中的地址.数组名实际上就是数组的第一个元素在内存中的地址,类似地,函数名实际上也是执行这个函数任务的代码在内存中的起始地址. 函数指针可以传递给函数.从函数返回.保存在数组中.赋予另一个函数指针或者调用底层函数. 下面我们用数值算法accumulate讨论下函数指针的用法.accumulate是一种常用的ST

黑 马 程 序 员_视频学习总结&lt;c语言&gt;----02 printf和scanf函数、基本语句和运算、流程控制、函数、数组、字符串

---------------------- ASP.Net+Unity开发..Net培训.期待与您交流! ---------------------- 一.printf函数 1.在使用peintf函数前必须加入#include <stdio.h>,使用它可以向标准输出设备(比如屏幕)输出数据,其中使用格式是 printf(“字符串”) :或者 printf(“字符串”, 格式符参数): 2.常用的格式符及其含义如图所示 3.格式符还可以添加输出宽度 二.scanf函数 1.在使用scanf函

入职培训笔记记录--day9(1、指针函数与函数指针、函数指针数组 2、malloc memset 3、递归函数 4、结构体 5、共用体---》大小端 6、枚举)

1.指针函数与函数指针.函数指针数组 指针函数:返回值为指针的函数 char *fun() { char str[] = "hello world"; return str; } int main() { char *p = fun(); puts(p); return 0; } 编译时,会出现警告,返回了一个已经被释放掉的内存空间的首地址解决方法:1.static 2.char *str = "hello world"; 3.malloc 注意:使用完后要free