php数组

博客主要围绕PHP数组展开,虽内容简短,但聚焦于这一信息技术领域的关键内容,PHP数组在后端开发中有着重要作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

                                                   php数组

<?php
// 创建数组
	$a = array(1,2,3);                        //数组下标为数字,值为1,2,3
	// $b = range(a, f);                      //数字a-f 
	$b = range(1, 5);                         //数字1-5
	$c = array('姓名'=>'张三','性别'=>'男');   //自定义键数组
//使用print_r()打印数组
	print_r($a);      // Array ( [0] => 1 [1] => 2 [2] => 3 )
	print_r($b);      // Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 ) 
	print_r($c);      // Array ( [姓名] => 张三 [性别] => 男 ) 
//访问数组某一项
	echo $a[0];       // 1
	echo $b[0];       // 1
	// echo $c[0];    //自定义键不可使用数字下标 出错
	echo $c['姓名'];  //张三 
//遍历数组
//使用for循环
	for($i = 0;$i<count($a);$i++){
		echo $a[$i];                // 123
	}

	for($i = 0;$i<count($b);$i++){
		echo $b[$i];                // 12345 
	}
	//自定义键可以使用foreach()方法遍历 数字键也可以
	// foreach ($c as $key => $value) {
	// 	echo $value;               //张三 男
	// }
	echo "<br/>";
	// 自定义键可以使用each()和list()
	// $user = array('姓名'=>'张三','性别'=>'男');
	list($key,$value) = each($c);      //不可以和foreach一起用
	echo $key;        //姓名
	echo $age;         //张三
//多重数组遍历
	$p = array(
				array('苹果' ,6,6),
				array('香蕉',5,5),
				array('饼干',4,4)
	);
	// 双重循环
	for($rows = 0;$rows<count($p);$rows++){
		for($i = 0;$i<count($p[$rows]);$i++){
			echo $p[$rows][$i];    //苹果66香蕉55饼干44 
		}
	}
	//使用foreach
	for($i = 0;$i<count($p);$i++){
		foreach ($p[$i] as $key => $value) {
			echo $value;           //苹果66香蕉55饼干44 
		}
	}
	// 使用list和each
	for($i = 0;$i<count($p);$i++){
		while(list($key,$value) = each($p[$i])){
			echo $value;           //不可以和foreach一起用
		}
	}
// 数组的排序
	$x = array(2,1,3);
	sort($x);         
	print_r($x);      //Array ( [0] => 1 [1] => 2 [2] => 3 ) 值从小到大,只改变值

	$y = array(2,1,3);
	asort($y);
	print_r($y);     // Array ( [1] => 1 [0] => 2 [2] => 3 ) 值从小到大,保留原来的键值关系

	$z = array(2=>'1',1=>'2',3=>'3');
	ksort($z);
	print_r($z);     // Array ( [1] => 2 [2] => 1 [3] => 3 )  键从小到大 保留原来的键值关系

	rsort($a);       // 反向排序
	print_r($a);     // Array ( [0] => 3 [1] => 2 [2] => 1 )  值从大到小 只改变值

	shuffle($a);
	print_r($a);     // 对值进行随机排序

	$as = array(4,5,6);
	array_reverse($as);            //反向排序不影响原来的数组
	print_r(array_reverse($as));   //Array ( [0] => 6 [1] => 5 [2] => 4 )
	print_r($as);                   //Array ( [0] => 4 [1] => 5 [2] => 6 )

//数组操作
	$a1 = array(1,2,3);
	array_unshift($a1, 0);   //将新元素添加到数组头
	print_r($a1);    // Array ( [0] => 0 [1] => 1 [2] => 2 [3] => 3 ) 

	array_shift($a1);        //将删除数组头的第一个元素
	print_r($a1);    // Array ( [0] => 1 [1] => 2 [2] => 3 ) 

	array_push($a1, 4);      //将新元素添加到数组尾
	print_r($a1);    // Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 ) 

	array_pop($a1);          //将删除数组尾的一个元素
	print_r($a1);    // Array ( [0] => 1 [1] => 2 [2] => 3 ) 


// 数组的指针操作

	// next(),each():将指针前移一个元素
	// current(),pos():获取指针当前元素
	// reset():重置指针
	// end(),prev():将指针往回移一个元素

// 统计数组个数
	echo count($a);   //3
	echo sizeof($a);  //3

// 将数组转化为标量变量 ,适用于非数值下标
	$user = array('name'=>'张三','sex'=>'男','age'=>'22');
	extract($user);
	echo $name;    //张三
?> 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值