PHP语言基础知识(超详细)第二节
二十七. 数组的遍历
1)通过函数进行遍历:(例:demo07)
(此方式不能完全遍历数组,需要借助其他功能辅助)(不推荐,了解即可)
key():返回数组中当前指针所在位置的键。
current():返回数组中当前指针所在位置的值。
例如:demo07:
<?php/*key():返回数组中当前指针所在位置的键。current():返回数组中当前指针所在位置的值。*/$city = array("云南"=>"昆明","四川"=>"成都","贵州"=>"贵阳");//$key = key($city);//echo $key; // 此时只能获取第一个key//$value = current($city);//echo $value; // 此时只能获取第一个value// 1.借助while循环完成遍历所有的key// 只要里面有key值,就一直循环。直到最后一个key/*while($key = key($city)){ echo $key; next($city); // 每次输出后,指针向下移动一位。}*/// 2.借助while循环完成遍历所有的value/*while($value = current($city)){ echo $value; next($city); // 每次输出后,指针向下移动一位。}*/
?>
2)foreach遍历与for遍历(推荐使用此两种方法) (例:demo08)
例如:demo08:
<?php$city = array("云南"=>"昆明","四川"=>"成都","贵州"=>"贵阳");// 1.foreach遍历/*foreach($city as $k=>$v){ echo($k."--".$v."<br/>");}*/// 2.for遍历二维数组$city2 = array(array("昆明","丽江","澄江"),array("成都","绵阳","内江"),array("贵阳","遵义","六盘水"));for($i=0; $i<count($city2); $i++){print_r($city2[$i]);echo "<br/>";}
?>
二十八. 数组相关的函数 (例:demo09)
1)count() / sizeof() 返回数组的元素个数。
2)array_count_values() 返回数组,里面统计每个值的出现次数。
3)array_unique() 删除数组中所有重复的值,返回一个由唯一值组成的数组。
4)补充:count(数组名, [0,1]) 如果是0,就默认统计。如果是1,递归统计。
例如:demo09:
<?php$city = array("昆明","成都","贵阳","昆明","成都","成都","成都","成都","成都","成都");//1.count() / sizeof() 返回数组的元素个数。//echo count($city);//echo sizeof($city);// 2.array_count_values() 返回数组,里面统计每个值的出现次数//$arr = array_count_values($city);//print_r($arr);// 3.array_unique() 删除数组中所有重复的值,返回一个由唯一值组成的数组//print_r(array_unique($city));// 4.count(数组名, [0,1]) 如果是0,就默认统计。如果是1,递归统计。//$city2 = array("昆明",array("成都","宜宾","乐山"),"贵阳");//echo count($city2, 0); // 3/*$city2 = array("北京",array("昆明","丽江","澄江"),array("成都","绵阳","内江"),array("贵阳","遵义","六盘水"),"上海");*///echo count($city2 ,1); // 14?>
二十九. 数组的排序 (例:demo10)
1)array_reverse(数组名, [true]) :将数组的元素倒叙排列。默认是false,如果是true表示绑定默认的键,默认的键和值一起倒叙排列。
2)array_flip() 置换数组中键与值的角色。
3)sort(数组名, 分类编码) 对数组中各元素的值按照由低到高的顺序排列。
分类编码如下:
0:默认,按照标准的ASCII编码顺序。(默认不写)
1:按照数字顺序。
2:按照字符串顺序。
3:按照当前区域的字符串顺序。
4:按照字符串的自然排序。
5:按照字符串顺序,不区分大小写。
例如:demo10:
<?php$names = array("C"=>"Cindy","A"=>"Ada","P"=>"Panny","Z"=>"Zeely","J"=>"Jackie");print_r($names);echo "<br/>";//1.array_reverse() 将数组的元素倒叙排列。print_r(array_reverse($names));echo "<br/>";//print_r(array_reverse($names ,false)); // 默认的键和值一起倒叙排列// 2.array_flip() 置换数组中键与值的角色。print_r(array_flip($names)); // 3.sort(数组名, 分类编码) 对数组中各元素的值按照由低到高的顺序排列。sort($names); //默认排序print_r($names);echo "<br/>";print_r(array_reverse($names)); // 默认排序后,再倒叙排列 $num = array(4,99,12,6,36,90,109,10010);sort($num);print_r($num);echo "<br/>";sort($num,2);print_r($num);
?>
三十. 数组的合并、接合、截取 (例:demo11)
1)array_merge(数组1,数组2,......) :合并数组,如果键重名,会覆盖掉前面的数组。
2)array_merge_recursive(数组1,数组2,......) :合并数组,如果键重名,会把两个值合并在一起,形成一个新的数组,并以原有的键作为组名。
3)array_combine(一组keys,一组values),把提交的一组键和一组值接合成一个新的数组。
4)array_slice(数组名,start,[长度] ),从某一个索引开始截取数组的一部分,得到一个新的数组。
例如:demo11:
<?php//$names = array("yw"=>"语文","sx"=>"数学","yy"=>"英语");//$address = array("km"=>"昆明","dl"=>"大理","yw"=>"义乌","yy"=>"音乐");// 1.array_merge() :合并数组,如果键重名,会覆盖掉前面的元素。//print_r(array_merge($names,$address));//echo "<br/>";// 2.array_merge_recursive() :合并数组,// 如果键重名,会把两个值合并在一起,形成一个新的数组,并以原有的键作为组名//print_r(array_merge_recursive($names,$address));//echo "<br/>";// 3.array_combine(),把提交的一组键和一组值接合成一个新的数组$subject = array("语文","数学","英语");$score = array(126,145,30);print_r(array_combine($subject,$score));// 4.array_slice(数组名,start,[长度] )// 从某一个索引开始截取数组的一部分,得到一个新的数组$subject = array("语文","数学","英语","物理","化学","生物");//$newArr = array_slice($subject,2); // 从索引2开始截取$newArr = array_slice($subject,2, 3); // 从索引2开始截取,长度是3print_r($newArr);
?>
三十一. 类与对象:(例:demo01.php)
PHP中的类,表示在程序中处理的实际事物。类中可以定义字段(变量)和方法,这些变量和方法属于类的成员,也称为成员变量和成员方法。他们可以通过访问修饰符来设置其作用域,如:private和protected等。