Correction status:Uncorrected
Teacher's comments:
以下代码主要是举例array_splice()函数的使用和使用for(),while(),foreach()实现数组的遍历,与大家分享:
array_splice()函数的使用代码:
<?php echo '<h3>array_splice()函数使用方法</h3><hr color="green">'; /** *删除或替换部分元素 * array_splice(&input,$offset [,$length=count($input) [,$replacement = array()]]) * 从指定位置起删除元素,或者用新数组元素进行替换 */ echo '<pre>'; //array_splice(&input,$offset):删除或替换部分元素 $week = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday','Sunday']; //只保留前3个元素,要从索引为3位置:Thursday开始删除 print_r(array_splice($week, 3)); //返回删除的元素 print_r($week); //查看原数据,发现只有前3个元素 echo '<hr color="green"></hr>'; $week = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday','Sunday']; //长度为负数,则指从负数到起始点之间的元素,-2是Saturday,3,-2指Thursday到Saturday之间的数据 print_r(array_splice($week, 3,-2)); print_r($week); //查看原数据 echo '<hr color="red"></hr>'; $week = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday','Sunday']; print_r(array_splice($week, -3, 2, ['星期五', '星期六'])); //返回删除的Friday和Saturday并插入元素 // print_r(array_splice($week, 4, 2, ['星期五', '星期六'])); //返回删除的Friday和Saturday并插入元素 print_r($week); //查看原数据,Friday的位置和Saturday的位置由星期五,星期六代替 echo '<hr color="green"></hr>'; $week = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday','Sunday']; print_r(array_splice($week, 3, 1, ['星期四', '测试'])); //返回删除的Thursday并插入元素 print_r($week); //查看原数据,Thursday的位置由星期三,测试代替-
点击 "运行实例" 按钮查看在线实例
效果图展示:
使用for(),while(),foreach()实现数组的遍历以及相关实例代码:
<?php echo '<h3>使用for(),while(),foreach()实现索引数组</h3>'; echo '<hr color="red">'; $achievement = ['name '=> 'jobing','Chinese '=> 81, 'maths'=> 96, 'English'=> 90, 'science'=>95]; //用for循环来实现关联数组的遍历 for ($i=0; $i<count($achievement); $i++) { echo key($achievement),'=>',current($achievement),'<br>'; next($achievement); } echo '<hr color="green">'; reset($achievement); //用while循环实现关联数组的遍历 $i=0; while($i<count($achievement)){ echo key($achievement),'=>',current($achievement),'<br>'; next($achievement); $i++; } echo '<hr color="blue">'; echo '<h4>成绩单</h4>'; echo '<ul>'; foreach ($achievement as $key => $value) { echo '<li>'.$key.':'.$value.'</li>'; } echo '</ul>'; echo '<hr color="red">'; //只输出值 echo '<table border="1" cellpadding="3" cellspacing="1" width="300">'; echo '<caption>成绩表</caption>'; echo '<tr bgcolor="lightgreen"><th>姓名</th><th>语文</th><th>数学</th><th>英语</th><th>科学</th></tr>'; echo '<tr>'; foreach ($achievement as $value) { echo '<td align="center">'.$value.'</td>'; } echo '</tr>'; echo '</table>'; echo '<hr color="red">'; //创建一个日期选择器 echo '<p>考试时间:</p>'; //生成年 $years = range(2000, 2020); echo '<select name="year">'; foreach ($years as $value) { echo '<option>'.$value.'年</option>'; } echo '</select>'; echo ' '; //生成月 $months = range(1, 12); echo '<select name="months">'; foreach ($months as $value) { echo '<option value='.$value.'>'.sprintf("%02d",$value) .'月</option>'; } echo '</select>'; echo ' '; //生成日 $days = range(1, 31); echo '<select name="days">'; foreach ($days as $value) { echo '<option value='.$value.'>'.sprintf("%02d",$value) .'日</option>'; } echo '</select>'; echo ' '; echo '<button>提交</button>';
点击 "运行实例" 按钮查看在线实例
效果展示图:
总结:主要学习了常用数组函数,可以使用这些函数对数组进行各种操作,包含增删改查等,array_splice(&input,$offset [,$length=count($input) [,$replacement = array()]])可以从指定位置起删除元素或者用新数组元素进行替换;使用for()while()可以实现数组的遍历,还有一个特殊的函数foreach(),可以将数组$arr按键值对方式依次取出到$key=>$value中,并逐个处理,如果只对值处理,也可以省略$key。