① 谁有php程序设计(第2版)(O'RERLY')出版的pdf格式的,请发邮箱:[email protected];
发给你了
看看可不可以
② [PHP开发手册]在哪里有买
这东西 没得卖,手册在http://www.php.net/manual/zh/index.php,也有离线版的,但是有书买的
③ PHP编程计算两个时间段是否有交集的实现方法(不算边界重叠)
本文实例讲述了PHP编程计算两个时间段是否有交集的实现方法。分享给大家供大家参考,具体如下:
优化前的版本:
/**
*
PHP计算两个时间段是否有交集(边界重叠不算)
*
*
@param
string
$beginTime1
开始时间1
*
@param
string
$endTime1
结束时间1
*
@param
string
$beginTime2
开始时间2
*
@param
string
$endTime2
结束时间2
*
@return
bool
*/
function
is_time_cross($beginTime1
=
'',
$endTime1
=
'',
$beginTime2
=
'',
$endTime2
=
'')
{
$status
=
$beginTime2
-
$beginTime1;
if
($status
>
0)
{
$status2
=
$beginTime2
-
$endTime1;
if
($status2
>
0)
{
return
false;
}
elseif
($status2
<
0)
{
return
true;
}
else
{
return
false;
}
}
elseif($status
<
0)
{
$status2
=
$endTime2
-
$beginTime1;
if
($status2
>
0)
{
return
true;
}
else
if
($status2
<
0)
{
return
false;
}
else
{
return
false;
}
}
else
{
$status2
=
$endTime2
-
$beginTime1;
if
($status2
==
0)
{
return
false;
}
else
{
return
true;
}
}
}
优化后的版本(条件合并):
/**
*
PHP计算两个时间段是否有交集(边界重叠不算)
*
*
@param
string
$beginTime1
开始时间1
*
@param
string
$endTime1
结束时间1
*
@param
string
$beginTime2
开始时间2
*
@param
string
$endTime2
结束时间2
*
@return
bool
*/
function
is_time_cross($beginTime1
=
'',
$endTime1
=
'',
$beginTime2
=
'',
$endTime2
=
'')
{
$status
=
$beginTime2
-
$beginTime1;
if
($status
>
0)
{
$status2
=
$beginTime2
-
$endTime1;
if
($status2
>=
0)
{
return
false;
}
else
{
return
true;
}
}
else
{
$status2
=
$endTime2
-
$beginTime1;
if
($status2
>
0)
{
return
true;
}
else
{
return
false;
}
}
}
测试:
$beginTime1
=
strtotime('2015-08-07
06:30');
$endTime1
=
strtotime('2015-08-07
08:30');
$beginTime2
=
strtotime('2015-08-07
05:30');
$endTime2
=
strtotime('2015-08-07
06:31');
echo
is_time_cross($beginTime1,
$endTime1,
$beginTime2,
$endTime2);//输出1
PS:这里再为大家推荐几款时间及日期相关工具供大家参考使用:
在线日期/天数计算器:
http://tools.jb51.net/jisuanqi/date_jisuanqi
在线日期计算器/相差天数计算器:
http://tools.jb51.net/jisuanqi/datecalc
在线日期天数差计算器:
http://tools.jb51.net/jisuanqi/onlinedatejsq
Unix时间戳(timestamp)转换工具:
http://tools.jb51.net/code/unixtime
更多关于PHP相关内容感兴趣的读者可查看本站专题:《php日期与时间用法总结》、《PHP数组(Array)操作技巧大全》、《PHP基本语法入门教程》、《PHP运算与运算符用法总结》、《php面向对象程序设计入门教程》、《PHP网络编程技巧总结》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家PHP程序设计有所帮助。
④ php 简单的程序设计(轮流攻击)
胡乱写了个简单程序,不过测试程序的时候发现,你的伤害计算有很大的问题。
上面说道:实际伤害=A部队攻击力-B部队防御力
那么攻击最高的骑兵攻击是30,打在防最低为5的弓兵身上,那么伤害等于30-5=25,这里倒是没多大问题,但是又看
实际伤害/B部队单位血量=本次攻击杀死敌兵数量,余数进位.
那么杀死弓兵的数量就等于25/200=0.125 按余数进位也就是1而已 0.125已经是里面最大的伤害了,所以造成每次无论任意兵种攻击任意兵种,死亡的单位都是1.
附程序(没怎么思考,期待楼下更精简的算法):
<?php
//初始化团队
$team_a=array(
"5"=>set_c("军团A骑兵甲","cavalry"),
"11"=>set_c("军团A弓兵甲","archer"),
"14"=>set_c("军团A弓兵乙","archer"),
"8"=>set_c("军团A步兵甲","infantry"),
"7"=>set_c("军团A步兵乙","infantry")
);
$team_b=array(
"8"=>set_c("军团B骑兵甲","cavalry"),
"9"=>set_c("军团B骑兵乙","cavalry"),
"13"=>set_c("军团B弓兵甲","archer"),
"5"=>set_c("军团B步兵甲","infantry"),
"10"=>set_c("军团B步兵乙","infantry")
);
//按速度对团队进行排序
$team_a=spe_sort($team_a);
$team_b=spe_sort($team_b);
//初始化战斗单位
function set_c($name,$type){
//初始化兵种 infantry 步兵 archer弓兵 cavalry骑兵,兵种=>(攻,防,HP,速度,数量).
$arm=array(
"infantry"=>array("tak"=>20,"def"=>10,"hp"=>250,"spe"=>"20|24","amo"=>120),
"archer"=>array("tak"=>25,"def"=>5,"hp"=>200,"spe"=>"25|27","amo"=>100),
"cavalry"=>array("tak"=>30,"def"=>15,"hp"=>300,"spe"=>"28|30","amo"=>80)
);
$d=$arm[$type];
$d["name"]=$name;
$spe=explode("|",$d["spe"]);
$d["spe"]=rand($spe[0],$spe[1]);
return $d;
}
//速度排序
function spe_sort($array){
foreach($array as $key => $value)
{
$temp[$key] = $value['spe'];
}
arsort($temp);
foreach($temp as $key => $value)
{
$result[$key] = $array[$key];
}
return $result;
}
//战斗函数 $active=攻击团队 $passive=被攻击团队
function fight($active,$passive){
//目标选择规则
$targeting=array(7,4,10,1,13,8,5,11,2,14,9,6,12,3,15);
foreach($active as $k=>$a)
{ foreach($targeting as $t)
{
if(isset($passive[$t]))
{
$hurt=$active[$k]["tak"]-$passive[$t]["def"];
$kill=ceil($hurt/$passive[$t]["hp"]);
$passive[$t]["amo"]=$passive[$t]["amo"]-$kill;
echo "<font color='#0000FF'>".$active[$k]["name"]."</font> 攻击了 <font color='#0000FF'>". $passive[$t]["name"] ."</font>,共伤害<font color='#ff000'> $hurt </font>点,杀死<font color='#ff000'> $kill </font>个单位.剩余".$passive[$t]["amo"]."个单位</br>";
if( $passive[$t]["amo"]<=0)
{
echo "×<font color='#ff000'>".$passive[$t]["name"]."</font>被消灭了!</br>";
unset($passive[$t]);
if(!count($passive)){echo "<font color='#ff000'>该军团已全军覆没!战斗结束....</font>"; die();}
}
break;
}
}
}
echo "-------------------本回合结束,换对方攻击-------------------</br>";
fight($passive,$active);
}
echo "战斗开始!</br>";
fight($team_a,$team_b);
?>
⑤ php程序设计
(1)
$newscontent = $_POST['newscontent'];
exit('<script>alert("请输入新闻内容");history.back();</script>');
$sql = "insert into news (title,content,addtime,clicknum) values ('{$newstitle}','{$newscontent}',NOW(),0)";
$query = $db->exec($sql);
(2)
$sql = "SELECT title,addtime,clicknum FROM news";
$news = $db->getRows($sql);
foreach($news as $one){
echo "标题:{$one['title']}<br>内容:{$one['content']}<br>点击数:{$one['clicknum']}";
(3)
$newstitle = $_POST['newstitle'];
exit('<script>alert("请输入标题");history.back();</script>');
⑥ php程序设计选择题
a.
a.
a.
d. Select * from employees where 姓名 like ‘%文%’
d.
d.
b.
cd.
b.
⑦ PHP程序设计的介绍
《PHP程序设计》是北京大学出版社出版的图书,作者是曾棕根。
⑧ PHP程序设计第2版 第5章 有个错误
作者太明显的错误,你的理解是正确的,我在PHP4.3.2上做了测试,结果和你一样。
测试代码:
<?php
$arr=array('a'=>1,'b'=>2,'c'=>3);
$sub=array_slice($arr,1,2);
print_r($sub);
?>
运行结果:
D:\temp\>e:\php4.3.2\php.exe a.php
Content-type: text/html
X-Powered-By: PHP/4.3.2
Array
(
[b] => 2
[c] => 3
)
⑨ 怎么提高php编程能力
要想提高你的PHP编程能力,你可以做两件事情:1)更扎实的掌握基本编程技能;2)更细微、更深入地了解PHP。
以下总结出的几条指南导航将有助于提高开发者的PHP编程能力:
一、提高PHP编码能力的10个细节
或许你并不能从这些细节中学到绝对新的东西(例如“如何对变量和函数做好的命名”,“对代码做好注释”,“频繁测试代码”),而它们可以让你巩固基础知识。以下几点解释了为什么最好的普通编程实践在PHP应用软件开发中尤为重要。
其中10点建议分别为:
1)如何开始良好的开发风格;
2)合适的变量及函数命名;
3)注释代码;
4)自己动手做大部分的工作;
5)多方涉猎;
6)了解开发语言的局限性;
7)接受结构上的意见反馈;
8)频繁的测试代码;
9)在自己的工程上内嵌程序;
10)不要把每一个文件都分一个文件夹
二、写出更优PHP代码的7条法则
以下7种方法列举出了PHP开发商极有可能面对的问题(例如不使用模板,不合适的封装,在增删修改时PHP和SQL的混淆使用等等),对于那些很有可能危害到PHP应用程序运行的各种复杂语句,该指南也提供了多种方法来清除(例如对大容量的网页减少数据库查询)。
以下是关键点:
1)在模板中使用可选择的PHP语法;
2)封装所有的东西;
3)使用一个数据库对象;
4)使用增删查改功能;
5)与调试为友;
6)重视命名;
7)减少数据库查询。
⑩ PHP程序设计试卷
1、"php"
2、?>和<?php ; <?php和?>
3、赋值 ; 判断
4、5
5、这个题太无聊 是在考转义
6、你简直太棒了!
7、数据库地址 ; 数据库用户名