博客列表 >0824作业:数组字符串的转换&数组函数回调&

0824作业:数组字符串的转换&数组函数回调&

Samoye
Samoye原创
2018年09月02日 23:27:52595浏览

作业1:数组,字符串之间的转换

实例

<?php
/**
  数组与字符串之间的转换
 * 1.list(变量1,变量2,...):用于把索引数组的元素直接绑定在list的变量1...上,11对应。
 * 2. extract($array,¥flag):返回转变的变量数目,用于关联数组转成成变量,键名对应变量名,值对应变量值.
 * 3. compact ("var1","var2"....)将几个变量变成一个数组,var1 不需要加$.
 * 4.explode ("字符串1",“字符串2” limit) :以字符串1(,-;)分割字符串2,limit可以取值=返回的数组元素个数;返回数组
 * 5.implode (sep,array)sep 规定拆分后的数组之间放置的内容,默认是"",。返回字符串
*/
 //list()
$names = ['peter','jimmy','albert','tom','amy'];
list($a,$b,$c,$d,$e) = $names;
echo $a,'<br>';
echo $c,'<br>';
echo $d,'<br>';
echo $e,'<br>';
//extract()
$stu2 = ['学号'=>'20180630','姓名'=>'李白','性别'=>'男','年龄'=>'21','专业'=>'汉语文学'];
echo extract($stu2),'<br>';
echo $学号,'<br>'; //汉字可以做变量名的!!!哈哈哈
echo $姓名,'<br>';
echo $专业,'<br>';
//compact()
$name="peter"; $sex="male"; $age = 18;

$res = compact('name','sex','age');
print_r($res);
echo '<hr>';

//explode()
$lang ='java,python,c,php,html,css,sql,C3';
echo var_export(explode(',',$lang,4)),'<hr>'; //可以-4,删除后4个

//implode()
$str =['L','O','V','E'];
$string = implode("",$str);
echo $string,'<br>';
$arr =['首页','产品','成功案例','服务与支持','关于我们'];
// implode('|','$arr');
echo var_export('<a href="#">'.implode('</a>|<a href="#">',$arr).'</a>'),'<br>';

运行实例 »

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

作业2:数组元素的回调处理

实例

<?php
/**
  数组元素的回调处理:
 * 1、array_filter($array,callable/)
 *      依次将 array 数组中的每个值传递到 callback 函数。
 *      如果 callback 函数返回 true,则 array 数组的当前值会被包含在返回的结果数组中。
 *      数组的键名保留不变。处理value值。。
 * 2、array_walk($array,callable)
 *      对数组中的每个元素应用用户自定义函数。在函数中,数组的键名和键值是参数。
 */
//array_filter()
// 不带函数的参数的filter用法
$arr1 = [5,0,'',20,null,66,false,'html'];
$arr2 = array_filter($arr1);
 print_r($arr2);
 echo '<hr>';
 // 带匿名函数参数的filter
$arr3 = ['php','html','css','python'];
$arr4 = array_filter($arr3,function($value){
   return $value == 'html'; // 将等于HTML的值传输到新的数值arr4中
});
echo var_export($arr4),'<hr>';
print_r($arr4);
echo '<hr>';

//array_walk()
function myFunction(&$value,$key) //&$value 是取址传参,可以更改值
{
    $value="yellow";
}
$a=["a"=>"red","b"=>"green","c"=>"blue"];
array_walk($a,"myFunction");
print_r($a);
echo "<hr>";
$arr = ['name'=>'admin','email'=>'coreliang@163.com'];
array_walk($arr,function($value,$key,$name){
    if($value != $name){
        exit('无权查看!');// 这里传入了第三个用户自定义参数:name 数据写在了最后面userdata:admin
}else{
        exit($key.':'.$value);
}
},'admin');

运行实例 »

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

作业3:用for()循环来遍历关联数组

实例

<?php
/**
  用for循环遍历关联数组
 *
 */

$arr = ['id'=>101,'name'=>'peter','sex'=>'male', 'age'=>30,'stature'=>'175cm','job'=>'teacher'];

/* foreach($arr as $key=>$value){
    echo $key.'=>'.$value,'<br>';
} */

/*
 * 分析:把关联数组转换成索引数组---键名一个数组,键值一个数组,2个数组的下标是相同的,可以利用这一点实现for循环遍历
 * */
$arrkey = array_keys($arr);
$arrvalue = array_values($arr);
print_r($arrkey);
echo '<hr>';
print_r($arrvalue);
echo '<hr>';
for ($i=0; $i<count($arrkey);$i++){

    echo $arrkey[$i].'=>'.$arrvalue[$i],'<br>';

}

运行实例 »

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


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