Blogger Information
Blog 11
fans 0
comment 0
visits 6749
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
数组的字符串、变量转换,元素的回调处理和遍历关联数组—8月24日作业
v1per911的博客
Original
673 people have browsed it

实例

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

运行实例 »

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


Correction status:Uncorrected

Teacher's comments:
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments