吾爱乐享
个人学习网站

php学习之数组的相关知识-数组的遍历

1.基本使用

1.1获取到一个元素的值:数组变量名[下标];

必须知道下标是说明,只能打印一个值

1.2数组的遍历

遍历就是一个一个的自动获取数组中的每个值

1.2.1 for循环遍历数组-只能遍历索引数组

使用过程:

  1. 获取数组的长度:count();
  2. 获取数组的下标:count() -1;
  3. 循环遍历

如果不是索引数组,则会报错:Notice: Undefined offset: 3 in F:\wamp\www\array\shiyong.php on line 16

案例:

1.2.2 foreach循环遍历数组-遍历关联和索引

基本语法:

foreach(数组变量名 as $key => $value){

$key就是每次循环获取数组中的一个元素的下标,自定义的变量名而已

$value 就是每次循环获取数组中的每个元素的值,也是自定义的变量

}

循环每次获取一个值,获取完之后,数组内部的指针下移,一直到数组的值获取结束,给false

案例:

1.2.3 while+each+list循环遍历数组-都可以遍历

while循环如果有内容就认为是真,如果没有内容就认为是假

each()函数:

获取数组中的一个元素,再把获取到的元素赋值给一个新的变量,这时候的变量就是就存储了元素种的键名和键值,组成一个新的数组,获取完之后,数组指针下移,获取下一个元素

组成新的数组:当前数组的下标和值都是新的数组中的值,下标是系统默认生成的两对(关联和索引)索引为0和1,关联是key和value。0和key获取的说是原来数组的下标,1和value获取的时原来数组的值

list()函数:

把数组中的值取出来给list中的变量,也就是说list中放的变量就可以获取数组的值;list()函数只能获取索引数组中的内容

list(变量1,变量2,变量3,….)=数组变量名;

循环遍历:

2.常用的几个数组函数

2.1 count():获取数组的长度

2.2 is_array():检查某个变量是不是数组

2.3 var_dump():打印输出数组中类型和长度和值

2.4 print_r():打印输出数组中的键值对

2.5 implode():通过一个分隔符连接数组成为字符串

2.6 explode():通过一个分隔符把一个字符串分割成数组

案例:传入多选框用接收方式

1.创建一个表单,提交多选

2.创建一个接收表单的php文件

[erphpdown]

<?php

/**
* @Author: 吾爱乐享
* @Date: 2018-09-19 01:46:01
* @Last Modified by: 吾爱乐享
* @Last Modified time: 2018-09-19 03:28:47
*/
//数组的基本使用
$arr = array('name' => '张三', 'age' => 23);
echo $arr['age'];//结果23
echo '<br>';
//for循环遍历数组
$arr1 = array(11,22,33,44,55,66,77,88,99);
for($i = 0; $i <=count($arr1)-1; $i++){
echo $arr1[$i].'<br>';
}
//for循环案例
//定义数组
$arr1 = array('张三', 23, '男');
$arr2 = array('李四', 24, '男');
$arr3 = array('王五', 25, '女');
$arr4 = array('赵六', 26, '男');
//foreach循环
//定义关联数组
$arr5 = array('name' => '张三','age' => 23, 'sex' => '男');
$arr6 = array('name' => '李四','age' => 24, 'sex' => '男');
$arr7 = array('name' => '王五','age' => 25, 'sex' => '女');
$arr8 = array('name' => '赵六','age' => 26, 'sex' => '男');
//循环遍历
foreach($arr5 as $key => $value){
echo $key.'=>'.$value.'<br>';
}
//while each list循环
//each()函数
$arr1 = array('name' => '张三','age' => 23, 'sex' => '男');
$new_array = each($arr1);
var_dump($new_array) ;
$new_array = each($arr1);
var_dump($new_array) ;
$new_array = each($arr1);
var_dump($new_array) ;
//list()函数:只能获取索引数组
$arr1 = array('张三',23, '男');
//获取所有的值
list($name,$age,$sex) = $arr1;
echo $name,$age,$sex;
//获取其中一个
list($name) = $arr1;
echo $name;
echo '<br>';
$arr5 = array('name' => '张三','age' => 23, 'sex' => '男');
//while循环遍历
while(list($k,$v) = each($arr5)){
echo $v;
}
echo '<br>';

$arr5 = array('name' => '张三','age' => 23, 'sex' => '男');
if(is_array($arr5)){
foreach($arr5 as $k => $v){
echo $k.'=>'.$v.'<br>';
}
}

?>
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<table border=1 width=300 height=100>
<tr>
<th>姓名</th>
<th>年龄</th>
<th>性别</th>
</tr>
<!--for循环遍历数组-->
<tr>
<?php for($i=0; $i<count($arr1); $i++): ?>
<td><?php echo $arr1[$i]; ?></td>
<?php endfor;?>
</tr>
<tr>
<?php for($i=0; $i<count($arr2); $i++): ?>
<td><?php echo $arr2[$i]; ?></td>
<?php endfor;?>
</tr>
<tr>
<?php for($i=0; $i<count($arr3); $i++): ?>
<td><?php echo $arr3[$i]; ?></td>
<?php endfor;?>
</tr>
<tr>
<?php for($i=0; $i<count($arr4); $i++): ?>
<td><?php echo $arr4[$i]; ?></td>
<?php endfor;?>
</tr>
</table>
<table border=1 width=300 height=100>
<tr>
<th>姓名</th>
<th>年龄</th>
<th>性别</th>
</tr>
<!--foreach循环遍历数组-->
<tr>
<?php foreach($arr5 as $k => $v): ?>
<td><?php echo $v; ?></td>
<?php endforeach;?>
</tr>
<tr>
<?php foreach($arr6 as $k => $v): ?>
<td><?php echo $v; ?></td>
<?php endforeach;?>
</tr><tr>
<?php foreach($arr7 as $k => $v): ?>
<td><?php echo $v; ?></td>
<?php endforeach;?>
</tr><tr>
<?php foreach($arr8 as $k => $v): ?>
<td><?php echo $v; ?></td>
<?php endforeach;?>
</tr>
</table>

</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<form action ="./jieshou.php" method="post">
<input type="checkbox" name="hop[]" value="1">篮球
<input type="checkbox" name="hop[]" value="2">足球
<input type="checkbox" name="hop[]" value="3">羽毛球
<input type="checkbox" name="hop[]" value="4">兵乓球
<input type="checkbox" name="hop[]" value="5">排球
<input type="submit" value="提交">
</form>
</body>
</html>
<?php

/**
* @Author: 吾爱乐享
* @Date: 2018-09-19 03:38:22
* @Last Modified by: 吾爱乐享
* @Last Modified time: 2018-09-19 03:50:14
*/
//接收表单数据
$hop = isset($_POST['hop']) ? $_POST['hop']:'';
//var_dump($hop);
$hop = implode(',',$hop);//把接收到的数组组合成字符串用逗号隔开
var_dump($hop);
$hop = explode(',',$hop);//把字符串逗号位置切割开存为数组,遍历数组取值
//遍历数组
foreach ($hop as $key => $value) {
echo $value;
}

[/erphpdown]

赞(0) 打赏
未经允许不得转载:吾爱乐享 » php学习之数组的相关知识-数组的遍历

评论 1

评论前必须登录!

 

  1. #-49

    1234

    吾爱乐享4年前 (2020-06-11)

推荐免费资源共享,个人经验总结学习

联系我们联系我们

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏