批改状态:未批改
老师批语:
<?php
//1、创建一个数组
//整体创建
// $arr1 = ['亢龙有悔','飞龙在天','见龙在田','鸿渐于陆','潜龙勿用','突如其来'];
$a = '亢龙有悔';
$b = '鸿渐于陆';
$arr2 = [$a, $b, '飞龙在天', '见龙在田', '潜龙勿用', '突如其来'];
//print_r($arr2, ture);这条语句如果没有true值,则直接将数组输出,如果有true,则是将print_r($arr2)作为一个字符串返回,使其可以用echo输出
echo '<pre>' . print_r($arr2, 1); //true可用1代替
//逐个创建
$arr3 = [];
$arr3['name'] = '林丹';
$arr3['contury'] = '中国';
$arr3['skill'] = '变速突击';
echo print_r($arr3, 1);
//遍历数组
//for()
for ($i = 0; $i < count($arr2); $i++) {
//遍历的时候,虽然是6个元素,但索引数是从0-5,所以不能等于count($arr2)
echo $arr2[$i] . '<br>';
}
//以上遍历输出时在末尾会多一个'<br>',可以通过方式删除。
echo "<hr>";
$res1 = '';
for ($i = 0; $i < count($arr2); $i++) {
//遍历的时候,虽然是6个元素,但索引数是从0-5,所以不能等于count($arr2)
$res1 .= $arr2[$i] . '<br>';
}
echo rtrim($res1, '<br>'); //trim()函数可以移除字符串两边的特定字符,rtrim()是移除右边的,ltrim()是移除左边的。
// while()
$res1 = '';
$i = 0;
while ($i < count($arr2)) {
//遍历的时候,虽然是6个元素,但索引数是从0-5,所以不能等于count($arr2)
$res1 .= $arr2[$i] . '<br>';
$i++;
}
echo rtrim($res1, '<br>');
echo '<pre>' . print_r(array_values($arr2), true);
echo '<pre>' . var_export(array_values($arr2), true);
echo '<pre>' . var_export(array_keys($arr3), true);
echo '<hr>';
//使用for循环遍历关联数组
reset($arr3);
for ($i = 0; $i < count($arr3); $i++) {
echo key($arr3) . '-->' . current($arr3) . '<br>'; //key($array)是输出当前指针所在的元素的键名 current($array)输出当前指针所在的元素的值
next($arr3);
}
//把索引数组中的值赋给变量
reset($arr3);
$list = ['小龙女', 'php', 80];
list($name, $course, $grade) = $list; //list()中所标识变量将索引数组中的值依次复制给list()中所标识变量
echo $name, '的 "', $course, '"课程的成绩是: ', $grade, '<hr>';
$arr4 = [];
$arr4['name1'] = '李宗伟';
$arr4['contury1'] = '马来西亚';
$arr4['skill1'] = '弹簧腿';
//把关联数组变成变量extract($arr4)
echo '共生成了' . var_export(extract($arr4), true) . '个变量<br>';
echo $name1 . $contury1 . $skill1 . '<hr>';
//把变量转为关联数组
$name1 = '谌龙';
$contury1 = '中国';
$skill1 = '防守';
$arr5 = compact('name1', 'contury1', 'skill1');
echo var_export($arr5, true);
//把字符串转为数组
$str = 'html-css-javascript-jquery-php-mysql';
echo var_export(explode('-', $str)); //explode('',$array)第一个参数是标识符,表示用这个符号把字符串分割开
echo var_export(explode('-', $str, 3)); //3表示分成三个元素,前两个按照标识符来“-”来分,最后一个数组则是将余下所有字符串组合成一个值
echo var_export(explode('-', $str, -2)); //-2表示组成数组后,将末位2个删除
//用数组的回调找出1-50中能被3整除的数字,重新组成一个数组
//创建一个1-50的数组
$arr7 = range(1, 50, 1); //range(起始数字,终止数字,每个几个数字)
// echo var_export($arr7, true);//检测数组创建是否成功
//array_filter($array,方法),这个函数只返回方法中判断出的为true的元素。
$arr8 = array_filter($arr7, function ($i) {
//
return $i % 3 != 1 && $i % 3 != 2; //取余不等1也不等于2,也就是取余等于0的数,被3整除的数字
});
echo var_export($arr8, true);
//格式化
array_walk($arr5, function ($value, $key) {
echo $key, ':', $value, '<br>';
});
echo '<hr>';
array_walk($arr5, function ($value, $key, $admin) {
if ($value != $admin) {
exit("你名字打错了!");
} else {
exit($key . ',' . $value);
}
}, '谌龙');点击 "运行实例" 按钮查看在线实例
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号