批改状态:未批改
老师批语:
以下代码主要是举例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。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号