仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 2893|回复: 20
打印 上一主题 下一主题

[学习教程] PHP编程:第4章 数据处置-php数组的处置-郑阿奇

[复制链接]
因胸联盟 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-2-3 23:37:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
终于理解了数据库的概念,而且让你兴奋不已的是你终于可以通过PHP来连接数据库了,这期间你是怎么学会的,我们不去考证了,但是事实证明,你已经可以了。   1.数组的处置:
1.1 数组的创立和初始化:
1.arrary()函数创立数组,默许情形下0元素是数组的第一个元素,
count()和sizeof()函数取得数据元素的个数
2.利用变量创立数组
compact()在以后的符号表中查找该变量名并将它添加到输入的数组中,变量名成为键名而变量的内容成为该键的值.
复制代码 代码以下:
<?php
$num=10;
$str="string";
$array=array(1,2,3);
$newarray=compact("num","str","array");
print_r($newarray);
/*了局
array([num]=10 [str]=>string [array]=>array([0]=>1 [1]=>2 [2]=>3))
*/
?>

extract() 将数组中的单位转为变量
复制代码 代码以下:
<?php
$array=array("key1"=>1,"key2"=2,"key3"=3);
extract($array);
echo "$key1 $key2 $key3";//输入1 2 3
?>

3.利用两个数组创立一个数组
复制代码 代码以下:
array_combine(array $keys, array $values)
<?php
$a=array('green','red','yellow');
$b=array(' volcado','apple','banana');
$c=array_combine($a,$b);
print_r($c);
?>

4.创立指定局限数组
range()
5.主动创立数组
1.2 键名和值的操作
本大节只讲经常使用的
。反省数组是不是存在某个键名和值可使用。array_key_exists()和in_arrary函数,isset()反省数组中的键名,当键名为NULL时,isset()前往           false,而array_key_exists()前往true.
。array_search()函数用于反省数组的键值是不是存在,不存在前往NULL。
。key()函数可以获得数组以后单位的键名.
。list()函数,将数组中值赋给指定的变量。在数组遍历中十分有效。
<?php
$arr=array("白色","蓝色","白色");
list($red,$blue,$white)=$arr;
echo $red; //白色
echo $blue; //蓝色
echo $white; // 白色
。array_fill()和array_fill_keys()可以用给定的值班填凑数组的值和键名
。array_filp()可以互换数组中的键名和值,别的假如互换数组中有不异的值,则不异的值转换为键名后,值保存最初一个
。array_keys()和array_values()函数可以获得数组中的键名和值,并保留到一个新的数组中。
。array_splice(arry $input,int $offset[,int $length[,array $replacement]])将数组中的一个或多个单位删除并用其它值取代。
。array_unique(),可以移除数组中的反复的值,前往一个新数组,其实不会损坏原本的数组。
1.3 数组的遍历与输入
1.利用while 轮回会见数组
使用while、list()、each()函数对数组遍历
2. for轮回会见数组
3.利用foreach轮回会见数组
复制代码 代码以下:
<?php
$color=array("a"=>"red","blue","white");
foreach($color as $value)
{
echo $value."<br>";//输入数组的值
}
foreach($color as $key=>$value)
{
echo $key."=>".$value."<br>";//输入数组的键名和值
}
?>

例4.1 在页面熟制品个文本框,用户输出先生成就,提交表单后输入个中分数小于60分的值,并盘算均匀成就后输入。
复制代码 代码以下:
<?php
echo "<form method=post>"; //新建表单
for($i=1;$i<6;$i++) //轮回生成文本框
{
//文本框的名字是数组名
echo "先生".$i."的成就:<input type=text name='stu[]' ><br>";
}
echo "<input type=submit name=bt value='提交'>"; //提交按钮
echo "</form>";
if(isset($_POST['bt'])) //反省提交按钮是不是按下
{
$sum=0; //总成就初始化为0
$k=0;
$stu=$_POST['stu']; //获得一切文本框的值并付与数组$stu
$num=count($stu); //盘算数组$stu元素个数
echo "您输出的成就有:<br>";
foreach($stu as $score) //利用foreach轮回遍历数组$stu
{
echo $score."<br>"; //输入吸收的值
$sum=$sum+$score; //盘算总成就
if($score<60) //判别分数小于60的情形
{
$sco[$k]=$score; //将分数小于60的值赋给数组$sco
$k++; //数组$sco的键名索引加1
}
}
echo "<br>低于60分的成就有:<br>";
for($k=0;$k<count($sco);$k++) //利用for轮回输入$sco数组
echo $sco[$k]."<br>";
$average=$sum/$num; //盘算均匀成就
echo "<br>均匀分为:$average"; //输入均匀成就
}
?>

1.4 数组的排序
1.升序排序 。sort(array $array[,int $sort_flags])
注重:在对含有夹杂类型值的排序时要小尽,由于能够会发生毛病。
asort()也可升序排序,是对数组的值停止排序,但它排序后的数组还坚持键名和值之间的联系关系。
Ksort()对数组的键名排序,排序后键名和值之间的联系关系不改动。
2.降序排序。 rsort()、arsort()、krsort()
3.多维数组的排序。
4.对数组从头排序。
。shuffle()函数.感化将数组用随机的按次分列,并删除原本的键名
。array_reverse()函数.将一个数组按相反按次排序.
5.天然排序
。natsort().对巨细写敏感
1.5其它操作
1. 兼并数组
array_merge($array1,$array2).兼并后将一维数今后的数组都当作一个单位前往。array_merge_recusive()可以在坚持现无数组布局下对数组停止兼并。
2. 数组的栈操作.
出栈: array_pop($arr);
入栈: array_push($arr,var);
3.获得数组以后单位
1. current()函数可以获得数组外部指针指向的单位的值,但不挪动数组的外部指针。
2. next($arr),将指针移到下一个单位。
3. end($arr)将指针移到尾部。
4.数组盘算
count()、sizeof()盘算数组中的元素个数
array_count_values()函数可以盘算数组中的一个值呈现的次数
例:4.2 处置表格数据
吸收用户输出的先生学工作、姓名、成就等信息,将吸收到的信息存入数组并依照成就升序排序。以后再以表格输入。.
复制代码 代码以下:
<form name=fr1 method=post>
<table align=center border=1 >
<tr>
<td><div align=center>学号</div></td>
<td><div align=center>姓名</div></td>
<td><div align=center>成就</div></td>
</tr>
<?php
for($i=0;$i<5;$i++) //轮回生成表格的文本框
{?>
<tr>
<td><input type=text name="XH[]"></td>
<td><input type=text name="XM[]"></td>
<td><input type=text name="CJ[]"></td>
</tr>
<?}?>
<tr><td align ="center" colspan="3">
<input type="submit" name="bt_stu" value="提交"></td></tr>
</table>
</form>
<center><font size=3 color="red">
注重:学号值不克不及反复</font></center><br>
<!-- 以上是输出表单 -->
<?php
if(isset($_POST['bt_stu'])) //判别按钮是不是按下
{
$XH=$_POST['XH']; //吸收一切学号的值存入数组$XH
$XM=$_POST['XM']; //吸收一切姓名的值存入数组$XM
$CJ=$_POST['CJ']; //吸收一切成就的值存入数组$CJ
array_multisort($CJ,$XH,$XM); //对以上三个数组排序,$CJ为重要数组
for($i=0;$i<count($XH);$i++)
$sum[$i]=array($XH[$i],$XM[$i],$CJ[$i]); //将三个数组的值构成一个二维数组$sum
echo "<div align=center>排序后成就表以下:</div>";
//表格的首部
echo "<table align=center border=2><tr><td>学号</td><td>姓名</td><td>成就</td></tr>";
foreach($sum as $value) //利用foreach轮回遍历数组$sum
{
list($stu_number,$stu_name,$stu_score)=$value; //利用list()函数将数组中的值赋给变量
//输入表格内容
echo "<tr><td>$stu_number</td><td>$stu_name</td><td>$stu_score</td></tr>";
}
echo "</table><br>"; //表格尾部
reset($sum); //重置$sum数组的指针
while(list($key,$value)=each($sum)) //利用while轮回遍历数组
{
list($stu_number,$stu_name,$stu_score)=$value;
if($stu_number=="081101") //查询是不是有学号为081101的值
{
echo "<center><font size=4 color=red>";
echo $stu_number."的姓名为:".$stu_name.",";
echo "成就为:".$stu_score;
break; //找到则停止轮回
}
}
}
?>
就是管理员可以编辑,删除,回复 等功能,。加入管理员功能要加入登陆系统,慢慢你会想在线添加管理员,慢慢你会让自己的作品更漂亮些,慢慢1个完整的留言板就会出来了,
透明 该用户已被删除
沙发
发表于 2015-2-4 03:50:08 | 只看该作者
环境搭建好,当你看见你的浏览器输出“it works\\\\\\\"时你一定是喜悦的。在你解决问题的时候,我强烈建议多读php手册。
变相怪杰 该用户已被删除
板凳
发表于 2015-2-9 14:50:20 | 只看该作者
刚开始安装php的时候,我图了个省事,把php的扩展全都打开啦(就是把php.ini 那一片 extension 前面的冒号全去掉啦),这样自然有好处,以后不用再需要什么功能再来打开。
老尸 该用户已被删除
地板
发表于 2015-2-27 07:42:18 | 只看该作者
使用 jquery 等js框架的时候,要随时注意浏览器的更新情况,不然很容易发生框架不能使用。
深爱那片海 该用户已被删除
5#
发表于 2015-3-7 14:00:27 | 只看该作者
个人呢觉得,配wamp 最容易漏的一步就是忘了把$PHP$目录下的libmysql.dll拷贝到windows系统目录的system32目录下,还有重启apache。
谁可相欹 该用户已被删除
6#
发表于 2015-3-15 07:28:24 | 只看该作者
不禁又想起那些说php是草根语言的人,为什么认得差距这么大呢。
金色的骷髅 该用户已被删除
7#
发表于 2015-3-17 00:06:57 | 只看该作者
这些中手常用的知识,当你把我说的这些关键字都可以熟练运用的时候,你可以选择自己
蒙在股里 该用户已被删除
8#
发表于 2015-3-19 07:13:51 | 只看该作者
实践是检验自己会不会的真理。
再现理想 该用户已被删除
9#
发表于 2015-3-23 04:23:47 | 只看该作者
其实也不算什么什么心得,在各位大侠算是小巫见大巫了吧,望大家不要见笑,若其中有错误的地方请各位大虾斧正。
因胸联盟 该用户已被删除
10#
 楼主| 发表于 2015-4-4 04:03:06 | 只看该作者
Apache不是非得用80或者8080端口的,我刚开始安得时候就是80端口老占用,就用了个 81端口,结果照常,就是输localhost的时候,应该输入为 localhost:81
简单生活 该用户已被删除
11#
发表于 2015-4-22 11:15:19 | 只看该作者
最后祝愿,php会给你带来快乐的同时 你也会给他带来快乐。
飘飘悠悠 该用户已被删除
12#
发表于 2015-5-10 22:52:07 | 只看该作者
个人呢觉得,配wamp 最容易漏的一步就是忘了把$PHP$目录下的libmysql.dll拷贝到windows系统目录的system32目录下,还有重启apache。
小妖女 该用户已被删除
13#
发表于 2015-6-3 21:19:43 | 只看该作者
如果你已经到这种程度了,那么你已经可以做我的老师了。其实php也分很多的区域,
只想知道 该用户已被删除
14#
发表于 2015-6-9 06:45:52 | 只看该作者
没接触过框架的人,也不用害怕,其实框架就是一种命名规范及插件,学会一个框架其余的框架都很好上手的。
第二个灵魂 该用户已被删除
15#
发表于 2015-7-8 21:30:23 | 只看该作者
使用zendstdio 写代码的的时候,把tab 的缩进设置成4个空格是很有必要的
飘灵儿 该用户已被删除
16#
发表于 2015-7-9 22:51:10 | 只看该作者
其实没啥难的,多练习,练习写程序,真正的实践比看100遍都有用。不过要熟悉引擎
愤怒的大鸟 该用户已被删除
17#
发表于 2015-7-13 05:18:56 | 只看该作者
为了以后维护的方便最好是代码上都加上注释,“予人方便,自己方便”。此外开发文档什么的最好都弄齐全。我觉得这是程序员必备的素质。虽然会消耗点很多的时间。但是确实是非常有必要的。
柔情似水 该用户已被删除
18#
发表于 2015-7-20 00:53:06 | 只看该作者
兴趣是最好的老师,百度是最好的词典。
再见西城 该用户已被删除
19#
发表于 2015-7-20 18:54:25 | 只看该作者
,熟悉html,能用div+css,还有javascript,优先考虑linux。我在开始学习的时候,就想把这些知识一起学习,我天真的认为同时学习能够互相呼应,因为知识是相通的。
若天明 该用户已被删除
20#
发表于 2015-9-23 02:48:01 | 只看该作者
先学习php和mysql,还有css(html语言很简单)我认为现在的效果比以前的方法好。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-22 19:54

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表