<?php

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

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

Show();*/

//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);*/

//数组
//$attr = array(1,2);
//$attr1 = [1,2,3,4,5];
//$attr2[0] = "hello";
//$attr2[1] = "world";
//var_dump($attr2);

//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($i=0;$i<count($attr);$i++)
{
echo $attr[$i]."<br>";
}*/

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

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

//3.each()和list()配合着来遍历数组//var_dump(each($attr1)); //取数组里面当前指针指向的元素
//var_dump(each($attr1));
//var_dump(each($attr1));

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

/*while(list($k,$v) = each($attr1))
{
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); //将指针复位

/*for($i=0;$i<count($attr1);$i++)
{
echo key($attr1);
next($attr1);
}*/

/*do
{
echo key($attr1);
}
while(next($attr1))*/
$attr = array(1,2,3);
var_dump($attr);

?>

php函数、php定义数组和数组遍历的更多相关文章

  1. 学习javaScript必知必会(3)~数组(数组创建,for...in遍历,辅助函数,高级函数filter、map、reduce)

    一.数组: 1.js是弱语言,js中的数组定义时:不用指定数据类型.不用功指定数组长度:数组可以存储任何数据类型的数据 2.数组定义的[ ] 的实质: [] = new Array(); {} = n ...

  2. C语言 数组做函数参数不传数组个数的遍历方法

    //数组做函数参数不传数组个数的遍历方法 #include<stdio.h> #include<stdlib.h> #include<string.h> void ...

  3. java 数组声明定义 数组内存分配 数组初始化 数组引用 数组的遍历

    一,数组的定义 Java 中定义数组的语法有两种: 1. type arrayName[]; 2. type[] arrayName;type 为Java中的任意数据类型,包括基本类型和组合类型,ar ...

  4. 编写高质量代码改善C#程序的157个建议[动态数组、循环遍历、对象集合初始化]

    前言   软件开发过程中,不可避免会用到集合,C#中的集合表现为数组和若干集合类.不管是数组还是集合类,它们都有各自的优缺点.如何使用好集合是我们在开发过程中必须掌握的技巧.不要小看这些技巧,一旦在开 ...

  5. php数组声明、遍历、数组全局变量使用小结

    数组的本质:管理和操作一组变量,成批处理,下面为大家介绍下数组的分类.数组的分类及使用说明,感兴趣的朋友可以了解下哈   php教程:数组声明,遍历,数组全局变量  <? /* * 一.数组的概 ...

  6. C#程序编写高质量代码改善的157个建议【16-19】[动态数组、循环遍历、对象集合初始化]

    前言   软件开发过程中,不可避免会用到集合,C#中的集合表现为数组和若干集合类.不管是数组还是集合类,它们都有各自的优缺点.如何使用好集合是我们在开发过程中必须掌握的技巧.不要小看这些技巧,一旦在开 ...

  7. 【C++函数题目】重载求数组中最小值的函数

    题目来源:https://acm.ujn.edu.cn Time Limit: 1 Sec  Memory Limit: 128 MB Description 写一个函数名称为miniElement( ...

  8. array_reduce方法用回调函数迭代地将对数组的值进行操作

    在处理php数组的时候,有一种需求特别的频繁,如下二维数组: $arr = array( 1=>array( 'id' => 5, 'name' => '张三' ), 2=>a ...

  9. OpenJudge计算概论-二维数组右上左下遍历

    /*====================================================================== 二维数组右上左下遍历 总时间限制: 1000ms 内存 ...

  10. ***PHP implode() 函数,将数组合并为字符串;explode() 函数,把字符串打散为数组

    实例 把数组元素组合为字符串: <?php $arr = array('Hello','World!','I','love','Shanghai!'); echo implode(" ...

随机推荐

  1. Android中使用Handler造成内存泄露

    1.什么是内存泄露? Java使用有向图机制,通过GC自动检查内存中的对象(什么时候检查由虚拟机决定),如果GC发现一个或一组对象为不可到达状态,则将该对象从内存中回收.也就是说,一个对象不被任何引用 ...

  2. ACM 矩形的个数

    矩形的个数 时间限制:1000 ms  |  内存限制:65535 KB 难度:1   描述 在一个3*2的矩形中,可以找到6个1*1的矩形,4个2*1的矩形3个1*2的矩形,2个2*2的矩形,2个3 ...

  3. BZOJ4521: [Cqoi2016]手机号码

    Description 人们选择手机号码时都希望号码好记.吉利.比如号码中含有几位相邻的相同数字.不含谐音不 吉利的数字等.手机运营商在发行新号码时也会考虑这些因素,从号段中选取含有某些特征的号 码单 ...

  4. Nodejs中cluster模块的多进程共享数据问题

    Nodejs中cluster模块的多进程共享数据问题 前述 nodejs在v0.6.x之后增加了一个模块cluster用于实现多进程,利用child_process模块来创建和管理进程,增加程序在多核 ...

  5. ActiveMQ 即时通讯服务——浅析

    一. 概述与介绍 ActiveMQ 是Apache出品,最流行的.功能强大的即时通讯和集成模式的开源服务器.ActiveMQ 是一个完全支持JMS1.1和J2EE 1.4规范的 JMS Provide ...

  6. Redis入门笔记(二)-配置及运行

    转自: http://gly199.iteye.com/blog/1056424 1.redis基本参数 redis的配置文件中的常见参数如下: daemonize   是否以后台进程运行,默认为no ...

  7. 在html中如何获取表单提交的数据

    a.html: <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www ...

  8. ArcGIS AddIN开发之COM对象写入注册表

    做一个交互式绘制文字的工具,希望这次设置的Symbol,下次打开ArcMap时自动调用这个Symbol,并支持对其进行修改. 解决方法是将这个Symbol写入注册表中,每次自动读取上一次设置的Symb ...

  9. 安装wampserver之后,浏览器中输入localhost页面显示IIS7解决办法

    1.wampserver图标为绿色才为正常启动,如果为橘色说明端口(默认为80)被占用:可以点击图标,然后点Apache->Service->测试80端口,来验证端口是否被占用. 如果占用 ...

  10. bootstrap input框清空

    <!DOCTYPE HTML> <html> <head> <link href="http://netdna.bootstrapcdn.com/t ...