PHP基本知识(数组解析)
知识点:
回顾:
1 字符串函数:
strlen(); 返回字符串长度
strpos(); 返回字符在字符串中第一次出现的位置。
substr(); 返回 截取 字符串
str_replace(); 用固定的字符 替换 字符串中的字符。
trim() 去掉字符串两端空格
strrev() 反转字符串。
unset() 释放变量。
md5() 加密函数
2 for(起始条件;终止条件;歩长值){
循环体;
}
起始条件
终止条件
循环体
歩长值
起始条件
while(终止条件){
循环体
歩长值;
}
起始条件
do{
循环体
歩长值
}while(终止条件)
首次 起始条件不满足终止条件,会先执行一次 循环体。
break
continue
一、 数组
二、数组函数
一、 数组
数组:数据有序序列的集合。
和谐号 1---15: 13
$hexie[数字]
$hexie[0] = "猪";
$hexie[1] = "菜";
$hexie["zhangsan"] = "人"; 伟大的人--->
$hexie["lisi1"] = "人"; 伟大的人--->
$hexie["lisi2"] = "人"; 伟大的人--->
$hexie["lisi3"] = "人"; 伟大的人--->
$hexie["lisi4"] = "人"; 伟大的人--->
$hexie[n-1] = "人";
$hexie[下标] = 值;
1 数组:********
索引数组:以数字为下标的数组
关联数组:以字符串为下标的数组
1》索引数组:下标 从 0 开始
直接定义:
$数组名称[下标] = 值;
$arr[0] = "张三";
$arr[1] = 18;
$arr[2] = "男";
$arr[3] = "2012-06-14";
$arr[4] = 1034.8;
echo $arr //Array 数组
var_dump($arr);
print_r($arr); //打印关于变量的易于理解的信息。
Array
(
[0] => 张三
[1] => 18
[2] => 男
[3] => 2012-06-14
[4] => 1034.8
[5] => 13111111111
)
强调:看到数组 就用print_r()打印格式。
使用数组元素:$元素名称[下标]
用array关键定义:
$brr = array("张三",18,"男","2012-06-14",1034.8,13111111111);
注意:array关键字 定义数组 和直接定义数组,完全一样,下标隐藏。
练习:
数组:
张三
李四
王五
赵六
小明
李刚
2》关联数组:下标是字符串的数组。
$数组名称[字符串] = 值;
直接定义:
$users["name"] = "张三";
$users["age"] = 18;
$users["len"] = "180cm";
$users["tel"] = "+86-1311111111";
注意:关联数组定义:数组名称和下标 都是自定义。
用array关键字定义;
键 值
$man = array("name"=>"张三","age"=>18,"len"=>"180cm","tel"=>"+80-131111111");
注意:关联数组用array关键字定义 不能省略下标。
$数组名称[下标]
关联数组和 索引数组引用 都是 $数组名称[下标]
练习:
booksName 三国演义
booksAuthor 张三
booksPrice 60
booksPublish 人名邮电出版社
2 遍历数组:********
遍历:访问到数组中的每一个元素。
php遍历数组 --》循环
$arr = array("zhangsan",18,"男","2012-06-06");
foreach(数组名称 as 下标=>值){
}
$key 数组的下标 具有 $key ++ $key=0
$val ==>值 $val 向下滚动功能
foreach($arr as $key=>$val){
}
注意:$数组名称[下标] 值
在foreach 中 $val 值 《==》 $数组名称[$key]
foreach 既可以遍历索引 也可以遍历关联。
$arr = array(
"userName"=>"zhangsan",
"userAge" => 18,
"userSex" =>"女",
"userInfo"=>"他很爱国"
)
3 二维数组:数组中的数组。
$arr = array(
值1,
值2,
值3,
值4,
.....
);
$数组名称 = array(
array(),
array(),
array(),
.......
);
$users = array( //索引数组
array("userName"=>"张三","userAge"=>19,"userSex"=>"男"),
array("userName"=>"李四","userAge"=>20,"userSex"=>"女"),
array("userName"=>"王五","userAge"=>21,"userSex"=>"男"),
array("userName"=>"赵六","userAge"=>22,"userSex"=>"女")
);
注意:
1》 二维 数组 可以使关联和索引的混合数组
2》 二维 数组 引用值 $数组名称[第一维下标][第二维下标]
4 二维 如何 遍历?????
foreach (数组名称 as $key => $val){
}
5 其他维 的数组:
$数组名称 = array(
array(
),
array(),
array(),
.......
);
理论上 数组可以定义n维 ,但是实际操作中,二维就够了。
二、数组函数
函数:
返回值类型 函数名称(参数类型 val,参数类型 val....)
返回值:结果。 sin(30) 0.5
与变量相关和类型有关的扩展
1 count()
作用:统计数组元素个数;
格式:int count ( mixed $var)
mixed 混合类型 string int float double boolean
注意:统计出来 数组的个数,数组下标 从0开始。
数组最后一个元素的下标 count()-1
2 explode()
作用:用指定的符号取切割字符串,返回数组。
格式:array explode ( string $separator , string $string)
3 join()
作用:数组连接成一个字符串。返回字符串。
格式:string join ( string $glue , array $pieces )
join 和 explode 相反作用的函数。
implode() join()
4 array_values();
作用:把原数组中的值取出,组成一个新的索引数组。
格式:array array_values ( array $input )
常用:关联 ===》 索引。
5 array_shift();
作用:将数组第一个元素删除,返回该元素。
格式:mixed array_shift ( array &$array )
6 array_keys();
作用:把原数组中的下标取出,组成一个新的索引数组。
格式:array array_keys ( array $input)
array_keys
array_values
keys 取得原数组的下标,组成新索引数组
values 取得原数组的值,组成新索引数组
关联==》索引
[0] [1] [2]
7 array_pop()
作用:删除最后一个元素,返回最后一个元素。
格式:mixed array_pop ( array &$array )
array_pop 最后一个
array_shift 第一个
8 list();
作用:把数组的值,依次赋给变量。
格式:void list ( mixed $varname , mixed $... )
常用:把数组 转化成 普通变量。
1》全部取得数组中的值,赋值给相应的变量
list($demo1,$demo2,$demo3,$demo4,$demo5) = $colorArr3;
2》取得数组中的前几个值
list($demo1,$demo2) = $colorArr3;
3》取得不连续的几个值。
list($demo1,,$demo3) = $colorArr3;
练习:
$demoArr = array(
"php编程",
"java编程",
".net编程",
"c语言编程",
"mysql编程",
"c#编程"
);
1 打印出数组的元素个数
2 把数组用;连接成一个字符串
3 把数组的第一个元素和最后一个元素 删除
4 在剩下的元素 lg1 lg2 lg3 lg4
9 数组元素的取值相关的。
1》 reset()
作用:将数组的内部指针指向第一个单元
mixed reset ( array &$array )
2》next()
作用:将数组中的内部指针向前移动一位
mixed next ( array &$array )
3》current()
作用:返回数组中的当前单元
mixed current ( array &$array )
4》prev();
作用:将数组的内部指针倒回一位
mixed prev ( array &$array )
5》end();******
作用:返回数组的最后一个单元。
格式:mixed end ( array &$array )
mysql.class.php
补充函数:
in_array();
作用:检查数组中是否存在某个值
格式:bool in_array ( mixed $needle , array $haystac)
array_reverse();
作用:返回一个单元顺序相反的数组
格式:array array_reverse ( array $array)
sort()
作用:对数组排序
格式:bool sort ( array &$array )
三、对数组元素进行排序。(算法)
冒泡排序:面试。*****
1 数组中的元素 如何交换位置。
要求 代码会敲了。
作业:
1 遍历以下数组。
$arr = array(
array("三国演义","罗贯中","40","清华大学出版社"),
array("西游记","吴承恩","80","人名邮电出版社"),
array("红楼梦","曹雪芹","70","电子工业出版社"),
array("水浒传","施耐庵","90","tarena出版社")
);
思考题:二维数组的数据放到表格中??????
2 截取扩展名 敲击3次
3 数组函数 函数列表中。
4 冒泡排序 敲 2次。
PHP基本知识(数组解析),古老的榕树,5-wow.com