PHP-自定义数组-预定义数组-自定义函数-预定义函数
(1)自定义数组 —— 项目中的重点
(2)PHP预定义数组 —— 重点&难点
(3)自定义函数 —— 了解
(4)PHP预定义函数 —— 项目中的重点
1.自定义数组
数组:array,一个可以保存多个数值的变量
定义一个数组:
$ageList = [ 20, 38, 25, 37 ];
$nameSet = [ 'Tom', 'Mary', 'King' ];
$isMarriedArr = [ true, false, false, true ];
输出整个数组不能用echo,要用var_dump();
获取数组中元素的个数(数组的长度):
echo count($ageList);
操作某个元素:
echo $nameSet[ 1 ];
$nameSet[ 1 ] = 'Maria';
向一个数组中追加新元素:
$nameSet[ ] = 'Scott'; #PHP会自动为新元素分配下标
[ ]运算符的三种用法: (1)创建新数组: $arr = [ 10, 30, 50 ]; (2)访问某个已有元素: $arr[2] = 35; (3)向数组中追加新元素: $arr[ ] = 75; |
练习:创建一个数组保存3个笔记本的标题,使用循环输出数组中的每个元素。再向数组中追加2个新的笔记本信息,使用循环输出数组中的每个元素。
PHP中数组的两种类型——重要知识点:
(1)索引数组:每个元素的下标是数字,形如0/1/2/3....
$arr = [10, 30, 50, 60];
$emp = [3051, 'Tom', 6000, true];
(2)关联数组:每个元素的下标是自定义的字符串
$emp = [ 'eid'=>3051, 'ename'=>'Tom', 'salary'=>6000, 'isMarried'=>true ];
结论:索引数组适合于存储多个相同含义的数据,如10个员工的姓名;关联数组适合于存储多个不同含义/类型的数据,如一个商品的多个信息。
练习:创建一个数组,保存学子商城中一个用户的信息,包含编号、用户名、性别、是否在线。
练习:创建一个数组,保存学子商城中一个用户的信息,包含编号、用户名、性别、是否在线。
练习:创建一个数组,保存学子商城中一个用户的信息,包含编号、用户名、性别、是否在线。
练习:创建一个数组,保存学子商城中一个用户的信息,包含编号、用户名、性别、是否在线。
练习:创建一个数组,保存学子商城中一个用户的信息,包含编号、用户名、性别、是否在线。
练习:创建一个数组,保存上述五个用户。
$userList = [ $user0, $user1, $user2, $user3, $user4 ];
$userList = [ [ ], [ ], [ ], [ ], [ ] ]; 二维数组
午间练习:循环执行把上述二维数组中的每个用户信息输出到一行中
2.PHP中的循环结构 —— foreach循环 —— 了解
foreach:"为了每一个",针对数组中的每一个元素,执行一次循环体——只能用于遍历数组。语法:
foreach( $数组名 as $变量名 ){
#循环主体
}
foreach( $数组名 as $下标变量名=>$元素变量名 ){
#循环主体
}
$arr = [ 10, 30, 50, 70 ];
foreach( $arr as $v ){
echo $v;
}
---------------------------------------
$v = 10; 执行一次循环主体;
$v = 30; 执行一次循环主体;
$v = 50; 执行一次循环主体;
$v = 70; 执行一次循环主体;
循环结束。
练习:创建一个数组,保存4个员工的姓名,使用foreach循环遍历出每个元素。 —— foreach可以遍历索引数组
练习:创建一个数组,保存一个笔记本信息,包括:编号、标题、价格,是否特价。使用foreach遍历输出每个元素的值。—— foreach可以遍历关联数组
for循环 |
foreach循环 |
|
能遍历索引数组吗 $arr=[10, 30, 50]; |
for($i=0; $i<count(...); $i++){ echo $arr[$i]; } |
foreach($arr as $v){ echo $v; } |
可以跳序遍历吗? |
for($i=0; $i<count(...); $i+=2){ echo $arr[$i]; } |
不能 |
可以倒序遍历吗? |
for($i=10; $i>=0; $i--){ echo $arr[$i]; } |
不能 |
能输出1~10吗? |
for($i=1; $i<=10; $i++){ echo $i; } |
不能 |
能遍历关联数组吗 $u=['uid'=>10, 'uname'=>'tom'] |
不能 |
foreach($u as $v){ echo $v; }#项目中此用法很少! |
3.PHP中的预定义数组变量
预定义变量:由PHP解释器自动为每个PHP文件创建的变量,程序员可以直接使用,无需自己手工声明。如下:
$_REQUEST:请求( request ),用于封装客户端发给服务器请求数据
$_GET:
$_POST:
$_FILES:
$_COOKIE:
$_SESSION:
初始情况下,上述几个变量都是关联数组: array(0){ }
(1)客户端浏览器如何给服务器发送请求数据?——浏览器用户
http://127.0.0.1/login.php?n=tom&p=123
页面地址后的?k=v&k=v字符串称为“查询字符串”/“请求参数”
(2)WEB服务器会如何处理客户端提交的请求数据呢?——WEB服务器
$_REQUEST = [ ];
$_REQUEST['n'] = 'tom';
$_REQUEST['p'] = '123';
(3)程序员编写的页面如何获取请求数据呢?——程序员
echo $_REQUEST[ 'n' ];
echo $_REQUEST[ 'p' ];
练习:创建add.php,客户端访问此页面时需要提交num1、num2和num3三个数据,服务器端页面接收这三个数据,向客户端输出三个请求数据的整数和。
练习:创建star.php,接收客户端提交的rows和cols两个请求数据,根据这两个数据输出指定行数和列数的※
练习:创建sum.php,接收客户端提交给服务器的start和end两个请求数据,服务器端页面输出从start到end的累加和
4.PHP中函数的基本概念
Function:函数,功能体,接收一些要处理的数据(称为参数),加以执行处理,得到特定的结果 —— 并可以反复多次执行。
程序员最怕的事情:Ctrl+C/V代码 —— 代码的可维护性差! 使用函数封装需要反复多次执行的代码! |
创建一个最简单函数:
function 函数名( ){
#函数中要执行的所有代码
}
运行/执行一次函数:
函数名( ) ; #()表示“执行”
创建一个可以接收运行参数的函数:
function 函数名( $变量1, $变量2, .... ){ #形式参数
#函数中要执行的所有代码
}
运行/执行一次函数:
函数名( 值, 值, .... ) ; #实际参数
练习:创建一个函数getScore(),其中声明三个变量,分别表示语文、数学、英语的成绩,输出三科总分。调用此函数三次。
练习:创建一个函数printStar(),其中输出一个5行10列的※矩阵。调用此函数三次。
课后练习:
函数练习:
(1)创建一个函数getSum(),接收三个数字做参数,函数体中计算出这三个数字的代数和,并输出。调用此函数三次,每次调用传递不同的实参值。
(2)创建一个函数getAvg(),接收三个数字做参数,函数体中计算出这三个数字的平均值,并输出。调用此函数三次,每次调用传递不同的实参值。
数组练习:
(1)创建一个数组,保存学子商城中一个用户的信息,包含用户编号、用户名、密码、邮箱、手机、头像、性别;
(2)再创建一个数组,保存学子商城中一个用户的信息,包含用户编号、用户名、密码、邮箱、手机、头像、性别;
(3)再创建一个数组,保存学子商城中一个用户的信息,包含用户编号、用户名、密码、邮箱、手机、头像、性别;
(4)再创建一个数组,保存学子商城中一个用户的信息,包含用户编号、用户名、密码、邮箱、手机、头像、性别;
(5)创建一个空数组,将上述四个商品的数据保存到其中;输出这个大数组中的所有数据 —— 尽可能漂亮的输出。
PHP-自定义数组-预定义数组-自定义函数-预定义函数的更多相关文章
- c++-变量,this指针,全局函数,成员函数,自定义数组类
区分变量属于哪个对象 c++对象管理模型初探 C++类对象中的成员变量和成员函数是分开存储的,C中内存四区仍然有效 C++编译器对普通成员函数的内部处理(隐藏this指针) this指针解决函数形参和 ...
- php 指针遍历、预定义数组和常用函数
<?php /*//定义 $attr = array(1,2,3); $attr[] = 1; $attr = array("one"=>"hello&quo ...
- php学习笔记 [预定义数组(超全局数组)]
<?php 预定义数组: * 自动全局变量---超全局数组 * * 1.包含了来自WEB服务器,客户端,运行环境和用户输入的数据 * 2.这些数组比较特别 * 3.全局范围内自动生效,都可以直 ...
- PHP数组——数组正则表达式、数组、预定义数组
正则表达式 1.替换 $s = "hello5world"; $s = preg_replace("/\d/","#",$s); echo ...
- PHP数组(数组正则表达式、数组、预定义数组)
正则表达式 1.替换 $s = "hello5world"; $s = preg_replace("/\d/","#",$s); echo ...
- 类模板、Stack的类模板实现(自定义链栈方式,自定义数组方式)
一.类模板 类模板:将类定义中的数据类型参数化 类模板实际上是函数模板的推广,可以用相同的类模板来组建任意类型的对象集合 (一).类模板的定义 template <类型形参表> clas ...
- 利用NSUserdefaults来存储自定义的NSObject类及自定义类数组
利用NSUserdefaults来存储自定义的NSObject类及自定义类数组 1.利用NSUserdefaults来存储自定义的NSObject类 利用NSUserdefaults也可以来存储及获取 ...
- java面试题:已知一个数组[2,4,6,2,1,5],将该数组进行排序(降序,不能用工具类进行排序),创建两条线程交替输出排序后的数组,线程名自定义
package com.swift; import java.util.Arrays; import java.util.Comparator; public class ArrayThread_Te ...
- C#中自定义类数组和结构数组的使用
如有雷同,不胜荣幸,若转载,请注明 C#中自定义类数组和结构数组的使用 最近在很多项目中发现很多时候给定的数组要实现某个逻辑或处理很是麻烦,一维数组,二维数组,,,等等需要经过n多转换,还不如自己写一 ...
随机推荐
- 6.ST LINK 下调试异常
☆1.无法进入main函数(printf的影响)***为什么有时候可以进入main函数,有什么进入不了main函数? <1> 因为C语言默认使用显示器作为标准输出的设备,所以如果想利 ...
- [UE4]Safe Zone:安全区域
一.在做移动开发的时候,为了避免被手机上的硬件元素挡住界面,就可以使用Safe Zone控件,如下图所示的棕色区域就是Apple IphoneX的课被挡住界面的区域:上面的是Iphone的喇叭位置,下 ...
- asp.net web api 权限验证的方法
思路:客户端使用header或者form讲验证信息传入api,在权限验证过滤中进行处理,代码示例: 定义过滤器 public class ApiFilter1 : System.Web.Http.Au ...
- Alpha阶段项目规划
Alpha阶段任务 概述 我们团队采访学长并听从学长的意见之后,决定根据第一版的phylab项目进行重构.但由于第一版的phylab项目在github上的代码仅仅只有alpha版本,我们接手之后进行了 ...
- spring 入门demo
相关资源 官网地址:http://projects.spring.io/spring-boot/ 创建maven项目 勾选箭头处,创建一个简单的项目 填写groupId和artifactId,点击确 ...
- Linq(高级查询)
一.条件查 public List<Users> ss(string ids) { List<Users> ulist=new List<Users>(); 声明使 ...
- java书籍
1.«java高并发编程详解 »一本比较详细介绍多线程的书籍,个人感觉比 并发编程思想 这本书详细
- echarts Cannot read property 'getAttribute' of null 问题的解决方法
今天在使用echarts练习官方给的实例的时候,代码没有问题 却总是报错“Cannot read property 'getAttribute' of null” 找了好久的文档没有看明白 ... 最 ...
- github 访问速度太慢
151.101.112.249 http://global-ssl.fastly.Net 192.30.253.112 http://github.com 在hosts文件添加 另 pip里的pyec ...
- Django 表关系
1.自定义主键字段的创建 AutoFiled(pirmary_key=True) # 一般不会自定义2.order_by asc desc 1. 表关系的创建- OneToOne student = ...