Correcting teacher:天蓬老师
Correction status:qualified
Teacher's comments:
<?php
//1.把一个数值拆分成多个二维数组
$acd=[1,2,3,4,5,6,7];
echo '<pre>'.print_r(array_chunk($acd,2),true).'</pre>';
echo '<pre>'.print_r(array_chunk($acd,2,true),true).'</pre>';
<?php
//2.合并两个数组,其中一个当健名,一个当值
$a=['id','name','email','age'];
$b=['1','小马','253166555@qq.com','20'];
$c=array_combine($a,$b);
print_r($c);
<?php
//3.看看数组的内容并且都有几个
$a=[1,1,'hello',5,5,'width','haoayou'];
print_r(array_count_values($a));
<?php
$a=[1,2,3,4,5];
$b=[1,2,6,4,5,7];
//4.返回第一个数组不同于第二个数组的值
$c=array_diff($a,$b);
print_r($c);
<?php
//5.填充个数组,参数是从几键来填充,填充几个,内容是什么
$a=array_fill(0,5,'abc');
$b=array_fill(-2,4,'啊啊');
echo print_r($a,true),'<br>';
echo print_r($b,true),'<br>';
//用数组的值来当键填充内容,非法标识符自动改为字符串
$c=['for',4,'你好',10];
$d=array_fill_keys($c,'aaa');
echo print_r($d,true),'<br>';
<?php
//6.把数组中的每个单元过一遍函数,结果为真的返回,假的省略,健名不变
function odd($abc)
{
return($abc%2);
}
function dod($abc)
{
return(!($abc%2));
}
$a=[1,2,3,4,5,6,7,8,9,10];
echo print_r(array_filter($a,'odd'),true),'<br>';
echo print_r(array_filter($a,'dod'),true),'<br>';
<?php
//7.两个数组合并,键从新开始
$a=['a'=>2,1,3,4];
$b=['a','b','a'=>9,10,11];
$c=array_merge($a,$b);
//但是合并的时候相同的健名的值会顶替
print_r($c);
echo '<br>';
//用这个,相同健名的值会合并成一个二维数组来显示
$c=array_merge_recursive($a,$b);
echo '<pre>'.print_r($c,true).'</pre>';
<?php
//8.数组里的值从小到大进行排序
$a1=[1,5,3,8,9];
array_multisort($a1);
var_dump($a1);
echo '<hr>';
//排序二维数组
$a1=[
[1,5,4,3,7,10],
[11,20,45,30,15,25]
];
array_multisort($a1[0]);
//降序排列
array_multisort($a1[1],SORT_DESC);
echo '<pre>'.print_r($a1,true).'</pre>';
<?php
//9.随机从数组里面抽取一个或多个值
$arr=range(1,100);
echo print_r(array_rand($arr,2),true);
<?php
//10.用一个数值替换掉另外一个数值内相同健名的值
$a1=['name'=>'小马','email'=>'222@qq.com','gz'=>888,'age'=>19];
$a2=['gz'=>9999];
$a3=['age'=>20];
echo "{$a1['name']}的去年工资是:{$a1['gz']}元,年龄是{$a1['age']}<br>";
$a1=array_replace($a1,$a2,$a3);
echo "{$a1['name']}的今年工资是:{$a1['gz']}元,年龄是{$a1['age']}";