PHP学习3——数组

简介: 主要内容:简介常用的方法循环遍历数组PHP预定义数组数组的处理函数数组PHP由于是弱类型的语言,他的变量类型是可以自由变换的,他的数组很自由,长度是可以动态增加的。他的索引默认为数字0开始,另外有一个很强大的地方就是,他的数组可以和字典一样,通过(key-value)键值对模式...

 主要内容:

  1. 简介
  2. 常用的方法
  3. 循环遍历数组
  4. PHP预定义数组
  5. 数组的处理函数

数组

PHP由于是弱类型的语言,他的变量类型是可以自由变换的,他的数组很自由,长度是可以动态增加的。

他的索引默认为数字0开始,另外有一个很强大的地方就是,他的数组可以和字典一样,通过(key-value)键值对模式来存储(厉害哦)

<?php
	//声明数组,并初始化
	$xiaoli=array("小李",25,"男","google公司","xiaoli@php.com");
	//输出数组
	print_r($xiaoli);
	
	echo "<br/>";
	$xiaobai[2]="小白";
	$xiaobai[]=20;
	$xiaobai[]="女";	
	$xiaobai[]="baidu公司";	
	$xiaobai[]="xiaobai@php.com";	
	//输出数组
	print_r($xiaobai);
	
	echo "<br/>";
	$bai["姓名"]="小白";
	$bai['年龄']=20;
	$bai['性别']="女";	
	$bai['公司']="baidu公司";	
	$bai['邮箱']="xiaobai@php.com";	
	//输出数组
	print_r($bai);
?>

输出

Array ( [0] => 小李 [1] => 25 [2] => 男 [3] => google公司 [4] => xiaoli@php.com ) 
Array ( [2] => 小白 [3] => 20 [4] => 女 [5] => baidu公司 [6] => xiaobai@php.com ) 
Array ( [姓名] => 小白 [年龄] => 20 [性别] => 女 [公司] => baidu公司 [邮箱] => xiaobai@php.com )

使用数字作为key的叫做“索引数组”,使用其他作为key的叫做“关联数组”,可以使用array在初始的时候就是默认使用索引,也可以制定为关联数组。

<?php
	//声明 索引数组,并初始化
	$xiaoli=array("小李",25,"男","google公司","xiaoli@php.com");
	//输出数组
	print_r($xiaoli);
     echo "<br/>"; 
	//声明 关联数组,并初始化
	$xiaoli=array("姓名"=>"小李","年龄"=>25,"性别"=>"男","google公司","xiaoli@php.com");
	//输出数组
	print_r($xiaoli);

?>

输出

Array ( [0] => 小李 [1] => 25 [2] => 男 [3] => google公司 [4] => xiaoli@php.com ) 
Array ( [姓名] => 小李 [年龄] => 25 [性别] => 男 [0] => google公司 [1] => xiaoli@php.com )

key也可以是变量,这样更灵活

<?php
	//声明 索引数组,并初始化
	$xiaoli=array("小李",25,"男","google公司","xiaoli@php.com");
	//输出数组
	print_r($xiaoli);
	
	echo "<br/>";
	//声明 关联数组,并初始化
	$xiaoli=array("姓名"=>"小李","年龄"=>25,"性别"=>"男","google公司","xiaoli@php.com");
	//输出数组
	print_r($xiaoli);
	
	$a="姓名";
	echo "<br/>";
	echo $xiaoli[$a];
	$a="年龄";
	echo "<br/>";
	echo $xiaoli[$a];

?>

输出

Array ( [0] => 小李 [1] => 25 [2] => 男 [3] => google公司 [4] => xiaoli@php.com ) 
Array ( [姓名] => 小李 [年龄] => 25 [性别] => 男 [0] => google公司 [1] => xiaoli@php.com ) 
小李
25

常用的方法

each($arr)返回数组中当前指针的键值对

print_r($arr)输出数组所有元素

var_dump($arr)输出数组的所有元素以及类型信息

list($a,$b)=array("小李",25,"男","google公司")这里一次性给多个变量赋值,$a="小李",$b=25;

 

循环遍历数组

这里有3中方法来遍历数字

  • for($i=0;$i<count($arr);$i++){}
  • foreach($arr as $x=>$y){}
  • while($v=each($arr)){}

foreach.php

<?php

	//声明 关联数组,并初始化
	$xiaoli=array("姓名"=>"小李","年龄"=>25,"性别"=>"男","google公司","xiaoli@php.com");
	foreach($xiaoli as $a=>$b){
		//each($xiaoli);
		echo "数组中 $a 元素是 $b <br/>";
	}

?>

输出

数组中 姓名 元素是 小李 
数组中 年龄 元素是 25 
数组中 性别 元素是 男 
数组中 0 元素是 google公司 
数组中 1 元素是 xiaoli@php.com 

貌似for循环只能遍历纯索引数组

for.php

<?php

	//声明 关联数组,并初始化
	$xiaoli=array("姓名"=>"小李","年龄"=>25,"性别"=>"男","google公司","xiaoli@php.com");
	for($i=0;$i<count($xiaoli);$i++){
		//each($xiaoli);
		echo "数组中 ".$i."元素是 ".$xiaoli[$i]." <br/>";
	}

?>

输出

数组中 0元素是 google公司 
数组中 1元素是 xiaoli@php.com 

Notice: Undefined offset: 2 in C:\xampp\htdocs\demo2.php on line 7
数组中 2元素是 

Notice: Undefined offset: 3 in C:\xampp\htdocs\demo2.php on line 7
数组中 3元素是 

Notice: Undefined offset: 4 in C:\xampp\htdocs\demo2.php on line 7
数组中 4元素是 

while_each.php

<?php

	//声明 关联数组,并初始化
	$xiaoli=array("姓名"=>"小李","年龄"=>25,"性别"=>"男","google公司","xiaoli@php.com");
	while($v=each($xiaoli)){
		echo "数组中 ".$v["key"]."元素是 ".$v["value"]." <br/>";
	}

?>

输出

数组中 姓名元素是 小李 
数组中 年龄元素是 25 
数组中 性别元素是 男 
数组中 0元素是 google公司 
数组中 1元素是 xiaoli@php.com 

PHP预定义数组

  • $GLOBALS(包含了全部变量的全局组合数组)
  • $_SERVER(头信息,路径,脚本位置等信息的数组)
  • $_POST
  • $_GET
  • $_COOKIE
  • $_SESSION
  • $_REQUEST(默认情况下包含了$_POST,$_GET,$_COOKIE的数组)

数组的处理函数

array_sum($arr)返回数组中所有value的值的和,字符串当做0

in_array($key,$arr)如果$key在$arr数组中,返回true,否则返回false

array_count_values($arr)用来统计所有值出现的次数

array_sum.php

<?php

	//声明 关联数组,并初始化
	$xiaoli=array("姓名"=>"小李","年龄"=>25,"性别"=>"男","google公司","xiaoli@php.com");
	$a=array_sum($xiaoli);
	echo $a;

?>

输出

=>25

in_array.php

<?php

	//声明 关联数组,并初始化
	$xiaoli=array("姓名"=>"小李","年龄"=>25,"性别"=>"男","google公司","xiaoli@php.com");
	findkey("小李",$xiaoli);
	echo "<br/>";
	findkey("小小",$xiaoli);
	
	//在数组xiaoli中找key
	function findkey($key,$xiaoli){
		if(in_array($key,$xiaoli)){
			echo "fund ".$key;
		}else{
			echo "not fund ".$key;
		}
	}

	
?>

输出

fund 小李
not fund 小小

array_count_values.php

<?php

	//声明 关联数组,并初始化
	$xiaoli=array("姓名"=>"小李","姓名1"=>"小李","姓名2"=>"小李","姓名3"=>"小李",
	"年龄"=>25,25,25,25,25,666,1,666,666,
	"性别"=>"男","google公司","xiaoli@php.com");
	print_r(array_count_values($xiaoli));

	
?>

输出

Array ( [小李] => 4 [25] => 5 [666] => 3 [1] => 1 [男] => 1 [google公司] => 1 [xiaoli@php.com] => 1 )

 

ok数组的学习就到这里。

 

目录
相关文章
|
1月前
|
存储 数据处理 PHP
深入浅出PHP编程之数组操作技巧
【10月更文挑战第30天】在PHP编程的海洋里,数组是一艘承载着数据结构的小船,掌握其操控之道,能让开发者在编码的旅程中乘风破浪。本文将带你领略数组的强大功能,从基础使用到高级应用,一步步揭开数组操作的神秘面纱。准备好你的航海装备,让我们启航吧!
42 4
|
2月前
|
SQL 关系型数据库 MySQL
如何学习PHP编程?
【10月更文挑战第2天】如何学习PHP编程?
43 9
|
1月前
|
存储 缓存 搜索推荐
优化PHP数组性能
优化PHP数组性能
42 8
|
1月前
|
算法 搜索推荐 Java
05 一文解决PHP数组操作
路老师带你深入PHP世界,从数组的基础知识讲起,包括数组的创建、赋值、类型(数字索引数组与关联数组)、多维数组,以及常用数组函数如遍历、统计、查询、添加、删除重复元素和排序等。实例讲解,轻松上手。下期预告:PHP面向对象。
19 2
|
3月前
|
存储 API PHP
php学习笔记-php数组的创建和使用,数组常用函数-day03
关于PHP数组的创建、使用以及常用函数的详细学习笔记。
php学习笔记-php数组的创建和使用,数组常用函数-day03
|
3月前
|
存储 PHP
PHP编程中的数组操作技巧
【9月更文挑战第28天】在PHP编程中,数组是一种基础且强大的数据结构,它可以存储多个值,并且允许我们使用键来访问这些值。本文将介绍一些实用的PHP数组操作技巧,包括创建数组、遍历数组、排序数组和合并数组等。通过掌握这些技巧,你将能够更高效地处理数据和解决实际问题。
|
3月前
|
存储 数据处理 PHP
深入理解PHP中的数组
【9月更文挑战第3天】在PHP编程中,数组扮演着不可或缺的角色。它们不仅提供了一种灵活的方式来存储和操作数据,还极大地丰富了开发者处理复杂信息结构的能力。本文将带你深入了解PHP数组的基础知识、高级特性以及如何高效地利用数组来简化代码逻辑,提升开发效率。
|
3月前
|
IDE 关系型数据库 PHP
php语言学习
【9月更文挑战第1天】php语言学习
38 3
|
3月前
|
SQL 安全 IDE
如何开始学习PHP?
【9月更文挑战第1天】如何开始学习PHP?
47 1
|
4月前
|
安全 PHP 开发者
PHP中的数组操作技巧
【8月更文挑战第29天】在PHP编程中,数组是一个基本且强大的数据结构。本文将通过浅显易懂的语言和生动的比喻,带你深入理解PHP数组的操作技巧。我们将一起探讨如何高效地使用数组函数,以及如何通过这些技巧来优化你的代码。无论你是PHP初学者还是有一定经验的开发者,这篇文章都将为你提供有价值的信息。让我们一起探索数组的世界,发现它的无限可能!