PHP 函数基础
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 函数基础的更多相关文章
- 速战速决 (3) - PHP: 函数基础, 函数参数, 函数返回值, 可变函数, 匿名函数, 闭包函数, 回调函数
[源码下载] 速战速决 (3) - PHP: 函数基础, 函数参数, 函数返回值, 可变函数, 匿名函数, 闭包函数, 回调函数 作者:webabcd 介绍速战速决 之 PHP 函数基础 函数参数 函 ...
- JavaScript 函数基础
1. JavaScript 函数基础 1. 定义方法 2. 函数的调用方法 3. 函数方法 apply : 将函数作为数组的方法来调用 将参数以数组形式传递给该方法 call : 将函数作为对象的 ...
- Python 函数基础、有序集合、文件操作(三)
一.set 特点: set是一个无序且不重复的元素集合访问速度快:天生解决元素重复问题 方法: 初始化 >>> s1 = set()>>> print(type(s ...
- 【2017-03-05】函数基础、函数四种结构、ref和out参数、递归
一.函数基础 1.函数/方法:非常抽象独立完成某项功能的一个个体 2.函数的作用: 提高代码的重用性提高功能开发的效率提高程序代码的可维护性 3.分类 固定功能函数高度抽象函数 4.函数四要素:输入, ...
- PHP基础入门(三)---PHP函数基础
PHP基础入门(三)---函数 今天来给大家分享一下PHP的函数基础.有了前两章的了解,想必大家对PHP有了一定的基础了解.想回顾前两章的朋友可以点击"PHP基础入门(一)"&qu ...
- PHP基础入门(二)【PHP函数基础】
PHP基础入门(二)--函数基础 了解 PHP基础入门详解(一) 后,给大家分享一下PHP的函数基础. 这部分主要讲的就是: 函数的声明与使用.PHP中变量的作用域.静态变量.函数的参数传递.变量函数 ...
- 09-Python入门学习-函数基础与参数
一.函数基础 1.定义函数的三种形式 1.1 无参函数 def foo(): print('from foo') foo() 1.2 有参函数 def bar(x,y): print(x,y) bar ...
- Python学习day9 函数Ⅰ(基础)
函数Ⅰ(基础) 三目运算 基本结构 v = 前面 if 条件 else 后面 #条件为真v=前面,条件为假v=后面.#等同于if 条件: v = '前面'else: v = '后面' ...
- Python学习笔记-函数基础
函数基础 定义: 函数是指将一组语句的集合通过一个名字(函数名)封装起来,要想执行这个函数,只需调用其函数名即可 为什么使用函数:减少重复代码.使程序变的可扩展使程序变得易维护 1.定义一个函数 #定 ...
- javaScript系列 [01]-javaScript函数基础
[01]-javaScript函数基础 1.1 函数的创建和结构 函数的定义:函数是JavaScript的基础模块单元,包含一组语句,用于代码复用.信息隐蔽和组合调用. 函数的创建:在javaScri ...
随机推荐
- JavaScript (jquery) 数组去重的算法探讨
方法很巧妙 但是要事先知道对应的name或其他属性名称 主键值只适用于已知数据对象进行调用: var arr1 = [{ name: ' ...
- Dojo框架学习笔记<二>
一.dojo/dom 该模块定义了Dojo Dom API,主要有以下几种用法: 1.dom.byId();(相当于document.getElementById()) ①最直接的用 ...
- Ubuntu 12.04 安装MySQL
本文地址:http://www.cnblogs.com/yhLinux/p/4012689.html 本文适合新手入门. 本文是对 Ubuntu 12.04 环境下安装 MySQL 的记录,通过这两天 ...
- step by step 之餐饮管理系统六(数据库访问模块)
距上次写的博客已经好几个月,一方面公司里面有很多的东西要学,平时的时候又要写代码,所以没有及时更新,不过现在还好,已经成型了,现在把之前的东西贴出来,先看一下现在做的几个界面吧.第一个界面是用颜色用区 ...
- (转)为什么用ls和du显示出来的文件大小有差别?
曾经有几次,我用ls和du查看一个文件的大小,发现二者显示出来的大小并不一致,例如: bl@d3:~/test/sparse_file$ ls -l fs.img-rw-r--r-- 1 bl bl ...
- devise 小项目(一)
Devise源于Warden,而warden是一个基于Rack的验证权限gem,不过,使用devise实际并不需要任何关于warden的知识. 如果你之前有一些其他类似的维护验证权限功能的gem的使用 ...
- Windows XP和Word 2007不能正常使用VSTO插件
今天帮助同事解决了一个小问题,就是在WindowsXP上,为Word2007开发的插件不能正常显示. 通过搜索关键词 WindowsXp Word 2007 VSTO找到了两个解决方案. http:/ ...
- PYTHON学习之路_PYTHON基础(2)
学习内容: 1.Python数据类型与变量 2.Python字符串 3.Python列表 4.Python while循环 5.Python字典 6.Python实例 一.Python数据类型与变量 ...
- 在WPF的WebBrowser控件中屏蔽脚本错误的提示
在WPF中使用WebBrowser控件显示网页时,经常会报脚本错误的提示,如何屏蔽掉这些错误提示呢.方法是定义如下方法: public void SuppressScriptErrors(WebBro ...
- Hibernate快照
l当session加载了某个对象后,会为该对象的值类型的属性复制一份快照.当刷出缓存时,通过比较对象的当前属性和快照,来判断对象的哪些属性发生了变化. 代码如下: /** * 修改学生信息 */ @T ...