PHP数组及简单函数
PHP函数:
1.简单函数
四要素:返回类型,函数名,参数列表,函数体
function Show()
{
echo "hello";
} Show();
运行结果:hellow
2.有返回值的函数:
function Show()
{
return "hello";
} echo Show();
3.有参数的函数:
function Show($a)
{
echo $a;
} Show("你好");
4.可变参数的函数:
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);//求得数组的和
运行结果:10
数组:
1.定义方式:
$attr = array(1,2);
$attr1 = [1,2,3,4,5];
$attr2[0] = "hello"; //定义attr2的第一个索引结果为“hellow”
$attr2[1] = "world"; //定义attr2的第二个索引结果为“world”
var_dump($attr2);
运行结果:

2.索引数组:
$attr = array(1,2,3);
var_dump($attr); //输出数组的索引及数组的值和值的类型
运行结果:

3.关联数组:
$attr1 = array("one"=>1,"two"=>2,"3"=>3); //将数组的索引设为 one,two,3
var_dump($attr1);
echo $attr1[3];
运行结果:

遍历数组:
1.for循环遍历,只能遍历索引数组
$attr = array(1,2,3); //只能遍历索引数组
for($i=0;$i<count($attr);$i++)
{
echo $attr[$i]."<br>";
}
运行结果:

2.foreach遍历,索引关联都可以遍历
$attr = array(1,2,3);
$attr1 = array("one"=>1,"two"=>2,"3"=>3);
foreach($attr as $v) //attr和attr1两种类型的数组都可遍历
{
echo $v."<br>";
} foreach($attr1 as $k=>$v)
{
echo "{$k}--{$v}<br>";
}
运行结果:

3.each()和list()配合着来遍历数组:
$arr = array('你','若','安','好','便','是','晴','天');
for(;list($k,$v)=each($arr);){ //分别用$k和$v 代替数组中的索引和值
echo $k,'~',$v,'<br />';
}
$arr = array('你','若','安','好','便','是','晴','天');
//分别用$k和$v 代替数组中的索引和值
while(list($k,$v) = each($arr))
{
echo "{$k}--{$v}<br>";
}
输出结果:

4.使用指针的方式来遍历数组
//echo current($attr1); //取指针指向的当前元素的value值
//echo key($attr1); //取指针指向的当前元素的key
//next($attr1); //将指针向下调一个
//next($attr1);
//prev($attr1); //将指针向上调一个
//echo key($attr1);
//end($attr1); //将指针调向最后一个元素
//reset($attr1); //将指针复位 $attr=array(3,2,4,5);
$attr1=array(4,5,6,7,8);
for($i=0;$i<count($attr1);$i++)
{
echo key($attr1); //取指针指向的当前元素的key
next($attr1); //指针下调,循环
}
echo "<br>";
do
{
echo key($attr);
}
while(next($attr))
运行结果:

PHP数组及简单函数的更多相关文章
- Javascript 基础知识笔记
标签(空格分隔): 廖老师学习笔记 javascript 基本入门 根据廖雪峰老师官网,自己看后的简单笔记 第一小节 基本知识 <script type="text/javascrip ...
- php的函数和数组
//php函数//1.简单函数//四要素:返回类型,函数名,参数列表,函数体/*function Show(){ echo "hello";}Show();*///2.有返回 ...
- php函数、php定义数组和数组遍历
<?php //php函数//1.简单函数//四要素:返回类型,函数名,参数列表,函数体 /*function Show(){ echo "hello";} Show();* ...
- c++ 依据输入动态声明数组(一维,二维)
较早的编译器是不同意这样做的,所以一些书籍比方以Tc解说的书本都说数组的下标不能是变量.在vc6.0下亦是如此. 只是在一些较新的编译器如dev c++已经支持了,例如以下代码不会报错 #includ ...
- 深入理解php内核 编写扩展 II:参数、数组和ZVALs
原文:http://devzone.zend.com/article/1022-Extension-Writing-Part-II-Parameters-Arrays-and-ZVALs Part I ...
- 『Python CoolBook』Cython_高效数组操作
数组运算加速是至关科学计算重要的领域,本节我们以一个简单函数为例,使用C语言为python数组加速. 一.Cython 本函数为一维数组修剪最大最小值 version1 @cython.boundsc ...
- 【学习】通用函数:快速的元素级数组函数【Numpy】
通用函数(即ufunc)是一种对ndarray中的数据执行元素级运算的函数.可以将其看做简单函数(接受一个或多个标量值,并产生一个或多个标量值)的矢量化包装器. sqrt 和 exp为一元(unary ...
- PHP-自定义数组-预定义数组-自定义函数-预定义函数
(1)自定义数组 —— 项目中的重点 (2)PHP预定义数组 —— 重点&难点 (3)自定义函数 —— 了解 (4)PHP预定义函数 —— 项目中的重点 1.自定义数组 数组:array,一个 ...
- python数据分析---第04章 NumPy基础:数组和矢量计算
NumPy(Numerical Python的简称)是Python数值计算最重要的基础包.大多数提供科学计算的包都是用NumPy的数组作为构建基础. NumPy的部分功能如下: ndarray,一个具 ...
随机推荐
- phpMoadmin CVE-2015-2208 远程代码执行漏洞分析
原文:http://www.thinkings.org/2015/03/05/cve-2015-2208-phpmoadmin-exec-vul.html phpMoAdmin 是一个用PHP 开发的 ...
- 仿JQ基础架构,可扩展。
(function(win,doc,fn){ var events = [];//拷贝核心方法 var publicEvent = ["extend","f ...
- cocos2d-x:Particle System(粒子系统)
一.粒子系统简介: 粒子系统最早出现在80年代,主要用于解决由大量按一定规则运动(变化)的微小物质在计算机上的生成和显示问题.Particle System的应用非常广泛,大的可以模拟原子弹爆炸,星云 ...
- Redis 排行榜 相同分数根据时间优先排行
版权声明:本文为博主原创文章,未经博主允许不得转载. 1. 需求 Redis 提供了按分数进行排序的有序集合. 比如在游戏里面,比如战斗力排行,充值排行,用默认的Redis 实现就可以达到需求. ...
- JavaScript判断移动端及pc端访问不同的网站
JavaScript判断移动端及pc端访问不同的网站 现在很多网站都是分为两个版本,一个pc端的一个移动端的(响应式除外),针对这两个版本,就需要对访问的设备进行判断,如果是pc,就直接访问pc网站, ...
- Javascript判断两个日期是否相等
大家一定遇到过这样的情况,有两个日期对象,然后需要判断他们是否相等. 例如: var date1 = new Date("2013-11-29"); var date2 = new ...
- UML类图的6大关系
<小酌重构系列>已经完成了大约1/3了,在这些文章中,我使用了一些简单的类图来描述重构策略.在之后的文章中,我可能会借助稍微复杂一些的UML类图来介绍.但是在此之前,我觉得有必要先介绍一下 ...
- .NET WEB程序员需要掌握的技能
本来这个是我给我们公司入职的新人做一个参考,由于 @张善友 老师在他的微信号转了我的这篇文章<<.Net WEB 程序员需要掌握的技能>>,很多人觉得比较有用,说是看了后知道一 ...
- Net作业调度(一) -Quartz.Net入门
背景 很多时候,项目需要在不同时刻,执行一个或很多个不同的作业. Windows执行计划这时并不能很好的满足需求了,迫切需要一个更为强大,方便管理,集群部署的作业调度框架. 介绍 Quartz一个开源 ...
- [.net 面向对象程序设计进阶] (11) 序列化(Serialization)(三) 通过接口 IXmlSerializable 实现XML序列化 及 通用XML类
[.net 面向对象程序设计进阶] (11) 序列化(Serialization)(三) 通过接口 IXmlSerializable 实现XML序列化 及 通用XML类 本节导读:本节主要介绍通过序列 ...