1.基本使用
1.1获取到一个元素的值:数组变量名[下标];
必须知道下标是说明,只能打印一个值
1.2数组的遍历
遍历就是一个一个的自动获取数组中的每个值
1.2.1 for循环遍历数组-只能遍历索引数组
使用过程:
- 获取数组的长度:count();
- 获取数组的下标:count() -1;
- 循环遍历
如果不是索引数组,则会报错: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]
1234