博客列表 >数组的字符串、变量转换,元素的回调处理和遍历关联数组—8月24日作业

数组的字符串、变量转换,元素的回调处理和遍历关联数组—8月24日作业

v1per911的博客
v1per911的博客原创
2018年08月31日 00:20:21664浏览

实例

<?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);
	}
}, '谌龙');

运行实例 »

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


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