博客列表 >数组的遍历以及array_splice()函数的使用20180417

数组的遍历以及array_splice()函数的使用20180417

jobing的博客
jobing的博客原创
2018年04月22日 16:09:23695浏览

以下代码主要是举例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的位置由星期三,测试代替-

运行实例 »

点击 "运行实例" 按钮查看在线实例

效果图展示:

1.png2.png

使用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>';

运行实例 »

点击 "运行实例" 按钮查看在线实例

效果展示图:

3.png

总结:主要学习了常用数组函数,可以使用这些函数对数组进行各种操作,包含增删改查等,array_splice(&input,$offset [,$length=count($input) [,$replacement = array()]])可以从指定位置起删除元素或者用新数组元素进行替换;使用for()while()可以实现数组的遍历,还有一个特殊的函数foreach(),可以将数组$arr按键值对方式依次取出到$key=>$value中,并逐个处理,如果只对值处理,也可以省略$key。

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议