php学习笔记——基础知识(2)
9、PHP语句
- if 语句 - 如果指定条件为真,则执行代码
- if...else 语句 - 如果条件为 true,则执行代码;如果条件为 false,则执行另一端代码
- if...else if....else 语句 - 选择若干段代码块之一来执行
- switch 语句 - 语句多个代码块之一来执行
- while - 只要指定条件为真,则循环代码块
- do...while - 先执行一次代码块,然后只要指定条件为真则重复循环
- for - 循环代码块指定次数
- foreach - 遍历数组中的每个元素并循环代码块
eg:
$colors = array("red","green","blue","yellow");
foreach ($colors as $value) {
echo "$value <br>";
}
运行结果:
red
green
blue
yellow
10、函数
PHP 的真正力量来自它的函数:它拥有超过 1000 个内建的函数。
1)PHP 用户定义函数
除了内建的 PHP 函数,我们可以创建我们自己的函数。
函数是可以在程序中重复使用的语句块。
页面加载时函数不会立即执行。
函数只有在被调用时才会执行
语法:
function functionName(参数1,参数2,…) {
被执行的代码;
}
注释:函数名能够以字母或下划线开头(而非数字)。
注释:函数名对大小写不敏感。
提示:函数名应该能够反映函数所执行的任务。
2)PHP 默认参数值
<?php
function setHeight($minheight=50) {
echo "The height is : $minheight <br>";
return 返回值;
}
setHeight(350);//$minheight=350
setHeight(); // 将使用默认值 50
?>
11、数组
1)在 PHP 中,有三种数组类型:
- 索引数组 - 带有数字索引的数组
- 关联数组 - 带有指定键的数组
- 多维数组 - 包含一个或多个数组的数组
2)PHP 索引数组
有两种创建索引数组的方法:
自动分配索引(索引从 0 开始):$cars=array("Volvo","BMW","SAAB");
手动分配索引:
$cars[0]="Volvo";
$cars[1]="BMW";
$cars[2]="SAAB";
获得数组的长度 - count() 函数
3)PHP 关联数组
两种创建关联数组的方法:
方法一:
$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");
方法二:
age['Peter']="35";
$age['Ben']="37";
$age['Joe']="43";
遍历关联数组
$age=array("Bill"=>"35","Steve"=>"37","Peter"=>"43");
foreach($age as $x=>$x_value) {
echo "Key=" . $x . ", Value=" . $x_value;
echo "<br>";
}
4)PHP - 数组的排序函数
- sort() - 以升序对数组排序
- rsort() - 以降序对数组排序
- asort() - 根据值,以升序对关联数组进行排序
- ksort() - 根据键,以升序对关联数组进行排序
- arsort() - 根据值,以降序对关联数组进行排序
- krsort() - 根据键,以降序对关联数组进行排序
php数组函数:http://www.w3school.com.cn/php/php_ref_array.asp
5)多维数组
多维数组可以理解为一个数组里面嵌套了多个数组,遍历的时候一个循环里面再嵌入循环就可以了。
eg:
$arrTest=array(
array("id1","name1",11),//还可以嵌入数组
array("id2","name2",12)
);
for(var i = 0; i<count($arrTest); i++){
for(var j = 0; j<count($arrTest[i]); j++){
echo $arrTest[i][j],"<br>";
}
}
12、超全局变量
之前看常量的时候有用到过$GLOBALS,其实就是这里所说的超全局变量的一种。
PHP 中的许多预定义变量都是“超全局的”,这意味着它们在一个脚本的全部作用域中都可用。在函数或方法中无需执行 global $variable; 就可以访问它们。
这些超全局变量是:
- $GLOBALS:用于在 PHP 脚本中的任意位置访问全局变量(从函数或方法中均可)。
$GLOBALS['z'] = $GLOBALS['x'] + $GLOBALS['y'];//在函数内用这句可以用函数外的全局变量$x,$y
- $_SERVER:保存关于报头、路径和脚本位置的信息
- $_REQUEST:用于收集 HTML 表单提交的数据。
- $_POST:用于收集提交 method="post" 的 HTML 表单后的表单数据。$_POST 也常用于传递变量。$_POST[“表单属性的name值”]
- $_GET:用于收集提交 HTML 表单 (method="get") 之后的表单数据。$_GET 也可以收集 URL 中的发送的数据。
- $_FILES
- $_ENV
- $_COOKIE
- $_SESSION
个人理解超全局变量就是PHP自己定义的用来存放某些数值的数组名(地址),然后直接提供给用户用。你用或不用,他就在那儿。(感觉之后肯定会有更深入的学习)
初学阶段,如有错误,欢迎指正,感激不尽。
php学习笔记——基础知识(2)的更多相关文章
- jQuery学习笔记 - 基础知识扫盲入门篇
jQuery学习笔记 - 基础知识扫盲入门篇 2013-06-16 18:42 by 全新时代, 11 阅读, 0 评论, 收藏, 编辑 1.为什么要使用jQuery? 提供了强大的功能函数解决浏览器 ...
- three.js学习笔记--基础知识
基础知识 从去年开始就在计划中的three.js终于开始了 历史介绍 (摘自ijunfan1994的转载,感谢作者) OpenGL大概许多人都有所耳闻,它是最常用的跨平台图形库. WebGL是基于Op ...
- SQLServer学习笔记<>.基础知识,一些基本命令,单表查询(null top用法,with ties附加属性,over开窗函数),排名函数
Sqlserver基础知识 (1)创建数据库 创建数据库有两种方式,手动创建和编写sql脚本创建,在这里我采用脚本的方式创建一个名称为TSQLFundamentals2008的数据库.脚本如下: ...
- Java Script 学习笔记 -- 基础知识
Java script 概述 java Script 的简介 JavaScript一种直译式脚本语言,是一种动态类型.弱类型.基于原型的语言,内置支持类型.它的解释器被称为JavaScript引擎,为 ...
- java虚拟机JVM学习笔记-基础知识
最近使用开发的过程中出现了一个小问题,顺便记录一下原因和方法--java虚拟机 媒介:JVM是每一位从事Java开发工程师必须翻越的一座大山! JVM(Java Virtual Machine)JRE ...
- hadoop学习笔记——基础知识及安装
1.核心 HDFS 分布式文件系统 主从结构,一个namenoe和多个datanode, 分别对应独立的物理机器 1) NameNode是主服务器,管理文件系统的命名空间和客户端对文件的访问操 ...
- php学习笔记——基础知识(1)
1.PHP 脚本在服务器上执行,然后向浏览器发送回纯 HTML 结果. 2.基础 PHP 语法 1)PHP 脚本可放置于文档中的任何位置. 2)PHP 脚本以 <?php 开头,以 ?> ...
- Redux学习笔记-基础知识
Redux概述 是什么:Redux是管理状态的容器,提供可预测的状态管理. 怎么做:Redux主要是用来管理组件或者应用的状态,本质上跟一个事件处理器差不多.通过分发action触发reduce来 ...
- GO Lang学习笔记 - 基础知识
Go lang Learn Note 标签(空格分隔): Go Go安装和Go目录 设置环境变量GOROOT和GOPATH,前者是go的安装目录,后者是开发工作目录.go get包只会将包下载到第一个 ...
随机推荐
- DevExpress中GridView Excel下载
DevExpress中GridView提供了许多Excel下载的方法,如gridView.ExportToExcelOld(sfdExcelDown.FileName); 在修改Bug时,遇到这样问题 ...
- MVC框架的插件与拦截器基础
自制MVC框架的插件与拦截器基础 上篇谈到我自己写的MVC框架,接下来讲讲插件及拦截器! 在处理一些通用的逻辑最好把它封装一个插件或者拦截器,以便日后可以直接拿过来直接使用.在我的框架中可以通过继承以 ...
- 13个不可不知的ASP.NET MVC扩展点
13个不可不知的ASP.NET MVC扩展点 ASP.NET MVC设计的主要原则之一是可扩展性.处理管线(processing pipeline)上的所有(或大多数)东西都是可替换的.因此,如果您不 ...
- JAVA学习:异常
一.异常官方定义: 1.就是不正常.程序在运行时出现的不正常情况.其实就是程序中出现的问题.这个问题按照面向对象思想进行描述,并封装成了对象.因为问题的产生有产生的原因.有问题的名称.有问题的描述等多 ...
- 实现WebService的调用与被调用
之前一直用WCF来开发服务,可是从未用过WebService.对WebService有种很神奇的期待,都说WebService比较简单,但是从未用过就对我来说就是一种新的知识.起始让我来说WCF与We ...
- MAKE gnu
GNU Make 学习系列一:怎样写一个简单的Makefile 编程通常遵循一个相当简单的程序:编辑源文件,编译源代码成可执行的格式,调试结果.尽管将源代码翻译成可执行程序是常规的过程,如果做的不正确 ...
- ××校招:前端线上笔试题--页面中的一个元素(10px*10px)围绕坐标(200, 300) 做圆周运动
题目: 请让页面中的一个元素(10px*10px)围绕坐标(200, 300) 做圆周运动: 原理: 1.页面上画一个圆,画一个圆心.在这个圆的圆周上面画一个点,我们就让这个点绕着圆周跑: 2.怎 ...
- windows服务1053错误排查
公司员工离职,接手他的任务,告诉我windows服务已经完成,没来得及测试.好吧,我接着做...... 服务生成后,运行bat文件.启动服务失败,提示错误编码1053.根据以往的经验,一般是三方面引起 ...
- python cookbook学习笔记 第一章 文本(1)
1.1每次处理一个字符(即每次处理一个字符的方式处理字符串) print list('theString') #方法一,转列表 结果:['t', 'h', 'e', 'S', 't', 'r', 'i ...
- 添加第三方类库造成的Undefined symbols for architecture i386:编译错误
1.原因: 如果是源码编译的话,一般就只某些头文件没有添加到src编译里面.但是对于添加库编译,一般是库的编译路径设置不正确(比如arm的版本.模拟器或者真机的不同版本库引用错误或者重复引用一起编译器 ...