批改状态:合格
老师批语:
通过今天学习,我掌握了数组与变量与字符之间的转换,数组的切割和填充,数组的回调等数组基本知识,以下是我的编程代码:
1,数组与字符串,变量之间的转换
<meta charset="UTF-8">
<?php
/**
* Created by PhpStorm.
* User: admin
* Date: 2018/8/25
* Time: 17:05
*/
//list将数组中的元素转换为变量
$studentIno=['jack','15',100];
list($name,$age,$score)=$studentIno;
echo $name,'他今年:'.$age,'岁了','这次考试成绩'.$score;
echo '<br>';
//list将数组中的元素转换为变量
$studentIno=['jack','15',100];
list($name,$age,$score)=$studentIno;
echo $name,'他今年:'.$age,'岁了','这次考试成绩'.$score;
echo '<hr>';
//extract() 的一种可能用法是将
// 返回的结合数组中的内容导入到符号表变量中去。
$age='男';
$account=['name'=>'小明','age'=>20,'hoppy'=>'篮球'];
extract($account,EXTR_PREFIX_SAME,"sex");
var_export( "$name, $age, $hoppy, $sex_age");
echo '<br>';
echo '共生成了:',var_export(extract($account),true),'个变量:<br>';
echo '<hr>';
//compact();将变量转为数组
$name='陈近难';
$sex='男';
$address='浙江';
$arr=compact('name','sex','address');
echo var_export($arr,true);
echo '<br>';
echo '<hr>';
//4,explode();将字符串转换数组
//如果 limit 是 0,则会被当做 1。
$language='html,css,javascript,jquery,php,mysql';
//以,好将字符串拼成数组
echo var_export(explode(',',$language)),'<br>';
//如果设置了 limit 参数并且是正数,则返回的数组包含最多 limit 个元素,而最后那个元素将包含 string 的剩余部分。
echo var_export(explode(',',$language,3)),'<br>';
//如果 limit 参数是负数,则返回除了最后的 -limit 个元素外的所有元素。
echo var_export(explode(',',$language,-1)),'<br>';
//implode — 将一个一维数组的值转化为字符串
$arr=['首页','公司新闻','公司首页','联系我们'];
echo var_export(implode('|',$arr),true);
//添加<a>转为导航
echo var_export('<a href="#">'.implode('</a>|<a href="#">',$arr).'</a>'),'<br>';点击 "运行实例" 按钮查看在线实例
2,数组元素的回调处理
<meta charset="UTF-8">
<?php
/**
* 数组元素的回调处理
*
*/
//创建一个数组自带三个空元素
$arr1 = [5, 0, 20,' ', 88, false, 'php',' '];
//输出原数据
echo '原数组:'.var_export($arr1,true).'数组的个数:'.count($arr1).'<br>';
//删除数组中的空元素
$arr2=array_filter($arr1);
echo '删除空元素数组:'.var_export($arr2,true).'数组的个数:'.count($arr2).'<br>';
//传入一个回调,匿名函数
$studentName=['小军','小明','小红','老王兄'];
//用一个变量接收筛选结果
$result=array_filter($studentName,function($obj){
return $obj!='小红';
});
echo '<hr>';
echo var_export($result);
//2,array_walk();对数组中每个元素的键和值进行处理
$info=['小明'=>20,'小军'=>50,'小红'=>80,'name'=>'admin'];
echo '<br>';
//输出原数组
echo '输出原数组:'.var_export($info,true).'<br>';
//使用array_walk()函数进行操作数组
array_walk($info,function ($value,$key,$name){
// if ($name!=$value)
// {
// exit('无权查看');
// }else{
if ($value>60)
{
echo '以下是成绩合格清单:','姓名是:'.$key.'成绩是:'.$value.'<br>';
// exit($key. ':'. $value).'<br>';
}else
{
echo '以下是成绩不合格清单:','姓名是:'.$key.'成绩是:'.$value.'<br>';
}
//}
},'admin');点击 "运行实例" 按钮查看在线实例
3,使用for循环输出关联数组
<meta charset="UTF-8">
<?php
/**
*使用for循环输出关联数组
*/
$student=['name'=>'小程','age'=>'18','sex'=>'男'];
//使用for循环输出关联数组,key返回键值,current返回当前的值
for($i=0 ; $i <count($student) ;$i++){
echo key($student),'=>',current($student),'<br/>';
next($student);
}
echo '<hr>';
echo 'foreach输出:','<br>';
//使用foreach循环输出键值对
foreach($student as $key=>$value)
{
echo $key.'=>'.$value;
}
echo '<hr>';
//使用while循环必须用reset重置一下
reset($student);
//使用while循环输出关联数组
while (list($key,$value)=each($student))
{
echo $key.'=>'.$value;
}
echo '<br>';点击 "运行实例" 按钮查看在线实例
总结:
1,数组与变量与字符之间的转换
a,extract:返回变量的数量
b,compact();将变量转为数组
c,explode();将字符串转换数组
d,implode — 将一个一维数组的值转化为字符串
2,数组的分割和填充
a,array_slice();从数组中指定位置,返回指定数量的元素(0表示第一个元素输出,
参数备注:第一个数组,第二个开始位置,第三,数组个数,负数从尾部删除数据)
b,array_chunk();将大数组分割为小数组
c,array_pad(),将数组用指定的数组填充到指定的长度 array_pad($arr,5,100)
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号