Blogger Information
Blog 31
fans 0
comment 1
visits 24629
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
数组的遍历以及array_splice()函数的使用20180417
jobing的博客
Original
703 people have browsed it

以下代码主要是举例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。

Correction status:Uncorrected

Teacher's comments:
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post