笨鸟学php(六) 数组

一、数组概述

1.1 数组是复合类型

1.2 数组中可以存储任意长度的数据, 也可以存储任意类型的数据

二、数组的类型

2.1 索引数组: 下标是顺序整数作为索引

<?php
	$user[0] = 1;
	$user[1] = "zhangsan";
	$user[2] = "[email protected]";

	echo '<pre>';
	print_r($user);
	echo '</pre>';
?>

2.2 关联数组: 下标是字符串作为索引

<?php
	$user["id"] = 1;
	$user["name"] = "zhangsan";
	$user["email"] = "[email protected]";

	echo '<pre>';
	print_r($user);
	echo '</pre>';
	$user["name"] = "lisi";
	echo $user["name"];
?>

三、数组的多种声明方式

3.1 直接为数组元素赋值

a. 如果索引下标不给值,就会从0开始顺序索引

b. 如果给出索引下标,下一个就会是从最大的开始增1

c. 如果后面出现前面的下标,如果是赋值就是为前面的元素重新赋值

d. 混合声明时,索引和关联不互相影响(不影响索引下标的声明)

3.2 使用array()函数

a.  默认是索引数组

b. 如果为关联数组和索引数组指定下标,使用 键=>值

c. 多个成员之前使用“,”分割

<?php
	$user1 = array (1, "zhsangsan", 10, "nan", "[email protected]");
	echo '<pre>';
	print_r($user1);
	echo '</pre>';

	/**
	 Array(
	    [0] => 1
	    [1] => zhsangsan
	    [2] => 10
	    [3] => nan
	    [4] => [email protected]
	 )
	 */

	$user2 = array("id"=>1, "name"=>"zhsangsan", "age"=>10, 100=>"nan", "[email protected]");
	echo '<pre>';
	print_r($user2);
	echo '</pre>';

	/**
	 Array(
	    [id] => 1
	    [name] => zhsangsan
	    [age] => 10
	    [100] => nan
	    [101] => [email protected]
	 )
	 */
?>

重要知识点: 二维数组

<?php
	$info=array(
		"user"=>array(
				array(1, "zansan", 10, "nan"),
				array(2, "lisi", 20, "nv")
		 )
	);
	echo $info["user"][1][1]; // lisi
	echo '<pre>';
	print_r($info);
	echo '</pre>';

	/**
	 	Array
	 	(
		    [user] => Array
		        (
		            [0] => Array
		                (
		                    [0] => 1
		                    [1] => zansan
		                    [2] => 10
		                    [3] => nan
		                )

		            [1] => Array
		                (
		                    [0] => 2
		                    [1] => lisi
		                    [2] => 20
		                    [3] => nv
		                )

		        )

		)
	 */
?>

四、数组的遍历

4.1 使用for语句循环遍历(不推荐)

局限性: 数组必须是索引数组, 而且下标必须是连续的 (然而索引数组下标可以不连续, 数组还可能是关联数组)

4.2 使用foreach语句循环遍历(强烈推荐)

循环次数由数组的元素个数决定, 每一次循环都会将数组中的元素分别赋值给后面的变量

4.3 使用while(), list(), each() 组合循环遍历(不推荐)

each() 函数:

* 需要一个数组作为参数

* 返回来的也是一个数组

* 返回来的数组时0, 1, key, value四个下标, 0和key下标是当前数组元素的键, 1和value下标是当前数组元素的值

* 默认当前元素就是第一个元素

* 每执行一次后就会将当前元素向后移动

* 如果已经到了最后还执行这个函数, 则返回false

list() 函数:

* list()=array(); 需要将一个数组赋值给这个函数

* 数组中的元素个数要和list()函数中的参数个数相同

* 数组中的每个元素值会赋值给list()函数中的每个参数,list()将每个参数转为变量

笨鸟学php(六) 数组,布布扣,bubuko.com

时间: 2024-10-25 23:31:42

笨鸟学php(六) 数组的相关文章

笨鸟学php(三) 运算符与表达式

一.算术运算符    +   -  *  /  %  ++  -- <?php $a = 100; $a++; // $a=$a+1; 先用变量再自增1 ++$a; // $a=$a+1; 先用自增1再用变量 $a--; // $a=$a-1; 先用变量再自减1 --$a; // $a=$a-1; 先用自减1再用变量 echo "a = ".$a."<br>"; // 100 $b = $a % 3.3; // % 会把两边的数转为整数后再进行整除

笨鸟学php(二) 如何使用变量

一. 变量的声明 1. php中声明变量的方法:  $var = 123; 2. php是弱类型的语言, 变量的类型由存储的值决定 注: Java是强类型语言, 声明变量一定要先指定类型 3. isset() 和 unset() isset() : 判断值是否存在;    unset() : 去掉变量的值 <?php $a = $b = $c = $d = "hello, world"; unset($a); if(isset($a)){ echo $a; }else{ echo

笨鸟学php(四) 流程控制

一.选择结构 1. 单路分支 <?php if(条件){ 执行一条语句; } ?> 2. 双路分支 <?php if(条件) 执行一条语句; }else 执行一条语句; } ?> 3. 多路分支 <?php if(条件){ 执行一条语句; }elseif(条件){ 执行一条语句; }elseif(条件){ 执行一条语句; }else if(条件){ 执行一条语句; }else{ 执行一条语句; } ?> <?php switch(变量){ case 值1: 代码;

笨鸟学php(五) 函数的声明与使用

1.函数的声明 <?php /** * function 函数名(参数1, 参数2.... ){ * 函数体; * 返回值; * } */ $sum = sum(3, 4); echo $sum; function sum($x, $y){ $sum = 0; $sum = $x * $x + $y + $y; return $sum; } ?> 2.变量的范围 局部变量: 在函数中声明的变量就是局部变量, 只能在自己的函数内部使用. 全局变量: 在函数外声明的变量就是全局变量, 在变量声明以

Python自学之旅 #新手#MacBook #《“笨办法”学Python》#第六章:常用的简易Python命令、符号、代码、格式化字符串

第六章:常用的简易Python命令.符号.代码.字符串 <“笨办法”学Python>这本书中,确实用了较多篇幅来介绍Python的一些常用简单的命令.符号.代码和字符串等,对于像我这样的自学新手,真的是非常棒,因为它们可以帮我建立接着学下去的信心和兴趣.但我在这个系列的博客当中,不打算写的这么精细,首先因为这不符合我写博的初衷和习惯,其次因为我不打算靠这写书来挣钱,最后因为我确实没有那个实力去挖掘简单东西中更深奥复杂的应用.所以,我写的这个博客,只适合像我这样的自学新手,如果想要成为大神,还是

Java程序员从笨鸟到菜鸟之(十三)java网络通信编程

本文来自:曹胜欢博客专栏.转载请注明出处:http://blog.csdn.net/csh624366188 首先声明一下,刚开始学习java网络通信编程就对他有一种畏惧感,因为自己对网络一窍不通,所以...呵呵..你懂得,昨天又仔细的学习了一遍,感觉其实java网络编程也没想象的那么难,不信,咱一起看看...呵呵.. 网络编程就是在两个或两个以上的设备(例如计算机)之间传输数据.程序员所作的事情就是把数据发送到指定的位置,或者接收到指定的数据,这个就是狭义的网络编程范畴.在发送和接收数据时,大

这本Python入门畅销书《“笨办法”学python 3》,不仅仅是一本书

此前,小编分享过一篇文章<跟着数百万人编程导师学C语言!>,介绍的是泽德 A. 肖大神的新书<"笨办法"学C语言>很多用户在后台留言,<"笨办法"学Python 3>什么时候出版?今天这本书终于在六月初与大家见面啦,与作者其他的图书风格一样,<"笨办法"学Python 3>也不仅仅是一本书,随书附赠5个多小时充满激情的视频,这是一套完整的Python语言视频课程! 纯正的美式发音,中文字幕,边看边练

Java程序员从笨鸟到菜鸟之(一百零三)java操作office和pdf文件(一)java读取word,excel和pd

在平常应用程序中,对office和pdf文档进行读取数据是比较常见的功能,尤其在很多web应用程序中.所以今天我们就简单来看一下java对word.excel.pdf文件的读取.本篇博客只是讲解简单应用.如果想深入了解原理.请读者自行研究一些相关源码. 首先我们来认识一下读取相关文档的jar包: 1. 引用POI包读取word文档内容 poi.jar 下载地址 http://apache.freelamp.com/poi/release/bin/poi-bin-3.6-20091214.ziph

1146: 零起点学算法53——数组中插入一个数

1146: 零起点学算法53--数组中插入一个数 Time Limit: 1 Sec  Memory Limit: 64 MB   64bit IO Format: %lldSubmitted: 1749  Accepted: 613[Submit][Status][Web Board] Description 给定有序数组(从小到大),再给你一个数,要求插入该数到数组中并保持顺序 Input 多组测试,每组第一行输入一个整数n,然后是n个有序的整数 第二行输入1个整数m和1个整数K Outpu