php程序设计(设计php程序只能使用dreamweaver作为编辑器)

本文目录
- 设计php程序只能使用dreamweaver作为编辑器
- php程序设计
- php 简单的程序设计(轮流攻击)
- 怎么编写php编程
- PHP有哪几种设计模式
- 如何理解PHP面向对象程序设计
- 有php教程吗,还有你是怎么自学PHP的
设计php程序只能使用dreamweaver作为编辑器
也可以用别的。
dreamweaver可以说是一个环境,可以将代码的内容转换为网页输入,而如果你要真正做php项目,可以运用dreamweaver做更改,然后将你的运行环境搭建好,php+mysql+apache,可以用phpstudy集成包。
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部队攻击力-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,$spe);
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编程
示例代码如下:
《?php
//接收输入的分数
$score = $_GET[’score’];
$score = (int)$score;
if( $score》=90 && $score《=100 ) {
echo “优秀“;
} elseif( $score》=75 && $score《90 ) {
echo “良好“;
} elseif( $score》=60 && $score《75 ) {
echo “及格“;
} elseif( $score》=0 && $score《60 ) {
echo “不及格“;
} else {
echo “分数输入错误!“;
}
PHP有哪几种设计模式
PHP 一般有五种常见的设计模式
工厂模式
工厂模式 是一种类,它具有为您创建对象的某些方法。您可以使用工厂类创建对象,而不直接使用 new。这样,如果您想要更改所创建的对象类型,只需更改该工厂即可。使用该工厂的所有代码会自动更改。
例如:
《?php
interface IUser
{
function getName();
}
class User implements IUser
{
public function __construct( $id ) { }
public function getName()
{
return “Jack“;
}
}
class UserFactory
{
public static function Create( $id )
{
return new User( $id );
}
}
$uo = UserFactory::Create( 1 );
echo( $uo-》getName().“\n“ );
?》
单元素模式
某些应用程序资源是独占的,因为有且只有一个此类型的资源。例如,通过数据库句柄到数据库的连接是独占的。您希望在应用程序中共享数据库句柄,因为在保持连接打开或关闭时,它是一种开销,在获取单个页面的过程中更是如此。
单元素模式可以满足此要求。如果应用程序每次包含且仅包含一个对象,那么这个对象就是一个单元素(Singleton)。
例如:
《?php
require_once(“DB.php“);
class DatabaseConnection
{
public static function get()
{
static $db = null;
if ( $db == null )
$db = new DatabaseConnection();
return $db;
}
private $_handle = null;
private function __construct()
{
$dsn = ’mysql://root:password@localhost/photos’;
$this-》_handle =& DB::Connect( $dsn, array() );
}
public function handle()
{
return $this-》_handle;
}
}
print( “Handle = “.DatabaseConnection::get()-》handle().“\n“ );
print( “Handle = “.DatabaseConnection::get()-》handle().“\n“ );
?》
观察者模式
观察者模式为您提供了避免组件之间紧密耦合的另一种方法。该模式非常简单:一个对象通过添加一个方法(该方法允许另一个对象,即观察者 注册自己)使本身变得可观察。当可观察的对象更改时,它会将消息发送到已注册的观察者。这些观察者使用该信息执行的操作与可观察的对象无关。结果是对象可以相互对话,而不必了解原因。
例如:
《?php
interface IObserver
{
function onChanged( $sender, $args );
}
interface IObservable
{
function addObserver( $observer );
}
class UserList implements IObservable
{
private $_observers = array();
public function addCustomer( $name )
{
foreach( $this-》_observers as $obs )
$obs-》onChanged( $this, $name );
}
public function addObserver( $observer )
{
$this-》_observers = $observer;
}
}
class UserListLogger implements IObserver
{
public function onChanged( $sender, $args )
{
echo( “’$args’ added to user list\n“ );
}
}
$ul = new UserList();
$ul-》addObserver( new UserListLogger() );
$ul-》addCustomer( “Jack“ );
?》
命令链模式
命令链 模式以松散耦合主题为基础,发送消息、命令和请求,或通过一组处理程序发送任意内容。每个处理程序都会自行判断自己能否处理请求。如果可以,该请求被处理,进程停止。您可以为系统添加或移除处理程序,而不影响其他处理程序。
例如:
《?php
interface ICommand
{
function onCommand( $name, $args );
}
class CommandChain
{
private $_commands = array();
public function addCommand( $cmd )
{
$this-》_commands = $cmd;
}
public function runCommand( $name, $args )
{
foreach( $this-》_commands as $cmd )
{
if ( $cmd-》onCommand( $name, $args ) )
return;
}
}
}
class UserCommand implements ICommand
{
public function onCommand( $name, $args )
{
if ( $name != ’addUser’ ) return false;
echo( “UserCommand handling ’addUser’\n“ );
return true;
}
}
class MailCommand implements ICommand
{
public function onCommand( $name, $args )
{
if ( $name != ’mail’ ) return false;
echo( “MailCommand handling ’mail’\n“ );
return true;
}
}
$cc = new CommandChain();
$cc-》addCommand( new UserCommand() );
$cc-》addCommand( new MailCommand() );
$cc-》runCommand( ’addUser’, null );
$cc-》runCommand( ’mail’, null );
?》
策略模式
我们讲述的最后一个设计模式是策略 模式。在此模式中,算法是从复杂类提取的,因而可以方便地替换。例如,如果要更改搜索引擎中排列页的方法,则策略模式是一个不错的选择。思考一下搜索引擎的几个部分 —— 一部分遍历页面,一部分对每页排列,另一部分基于排列的结果排序。在复杂的示例中,这些部分都在同一个类中。通过使用策略模式,您可将排列部分放入另一个类中,以便更改页排列的方式,而不影响搜索引擎的其余代码。
例如:
《?php
interface IStrategy
{
function filter( $record );
}
class FindAfterStrategy implements IStrategy
{
private $_name;
public function __construct( $name )
{
$this-》_name = $name;
}
public function filter( $record )
{
return strcmp( $this-》_name, $record ) 《= 0;
}
}
class RandomStrategy implements IStrategy
{
public function filter( $record )
{
return rand( 0, 1 ) 》= 0.5;
}
}
class UserList
{
private $_list = array();
public function __construct( $names )
{
if ( $names != null )
{
foreach( $names as $name )
{
$this-》_list = $name;
}
}
}
public function add( $name )
{
$this-》_list = $name;
}
public function find( $filter )
{
$recs = array();
foreach( $this-》_list as $user )
{
if ( $filter-》filter( $user ) )
$recs = $user;
}
return $recs;
}
}
$ul = new UserList( array( “Andy“, “Jack“, “Lori“, “Megan“ ) );
$f1 = $ul-》find( new FindAfterStrategy( “J“ ) );
print_r( $f1 );
$f2 = $ul-》find( new RandomStrategy() );
print_r( $f2 );
?》
如何理解PHP面向对象程序设计
在php的面向对象编程中,总会遇到 class test{ public static function test(){ self::func(); static::func(); } public static function func(){} } 可你知道self和static的区别么? 其实区别很简单,只需要写几个demo就能懂: Demo for self: class Car { public static function model(){ self::getModel(); } protected static function getModel(){ echo “This is a car model“; } } Car::model(); Class Taxi extends Car { protected static function getModel(){ echo “This is a Taxi model“; } } Taxi::model(); 得到输出 This is a car model This is a car model 可以发现,self在子类中还是会调用父类的方法 Demo for static class Car { public static function model(){ static::getModel(); } protected static function getModel(){ echo “This is a car model“; } } Car::model(); Class Taxi extends Car { protected static function getModel(){ echo “This is a Taxi model“; } } Taxi::model(); 得到输出 This is a car model This is a Taxi model 可以看到,在调用static,子类哪怕调用的是父类的方法,但是父类方法中调用的方法还会是子类的方法(好绕嘴。。) 在PHP5.3版本以前,static和self还是有一点区别,具体是什么,毕竟都是7版本的天下了。就不去了解了。 总结呢就是:self只能引用当前类中的方法,而static关键字允许函数能够在运行时动态绑定类中的方法。
有php教程吗,还有你是怎么自学PHP的
对于很多零基础想自学来说的朋友,虽然入行门槛比较低,但PHP也是不怎么好学的,因为自学会走相当多的弯路,甚至一个星期内在重复一个PHP知识点的学习,可能还是没有办法消化,所以零基础的朋友建议选择PHP培训学校系统的学习。
你需要具备这么几点:
一是兴趣,不是3分钟热情,是真的感兴趣,要能坚持下来。
二是较强的逻辑思维。
三是反复的练习。只要学的好,前景一片光明。
要学多久:
至于多久能学会php,主要看实践,有的一两个月也能学会,有的需要三四个月,也要看你要求自己学到什么程度,是不是要求自己能单独做项目。
还要看你是自己看教程自学,还是跟老师学,自学的话肯定要费更多的精力,但也不乏有天资非常聪慧的,花很少的精力很快学会。
零基础学php怎么学:
首先从php基础知识开始学咯,再到thinkphp、Linux、Apache、MySQL,逐步进阶,多实践,肯定能学会的,不是说php是世界最好的语言嘛,扎克伯格也用PHP写出了最风骚的Facebook。
怎么才能学好php?
(1)熟悉HTML/CSS/JS等网页基本元素,完成阶段可自行制作完整的网页,对元素属性达到熟悉程度
(2)理解动态语言的概念,运做机制,熟悉PHP语法
(3)学习如何将PHP与HTML结合起来完成简单动态页面
(4)接触MYSQL,开始设计数据库程序
(5)不断巩固,摸透大部分PHP常用函数,并可理解OOP,MYSQL优化,以及模板
(6)完成一个功能齐全的动态站点 我的这套线路可能跟许多学习PHP的爱好者不谋而合,这也算是一个循序渐进的学习过程,不过新手不要看到上面的概括就以为学习蛮简单的,在此不得不对您稍微泼一下冷水,任何东西其实都不简单,即使是小吃部的烧饼也不是一下子就会做成的。

更多文章:
dropdownlist 绑定(DropDownList 绑定所有项 并 显示指定项)
2026年10月11日 08:50
易语言网页api接口怎么调用(易语言,怎么读取网页json的api)
2026年10月11日 08:00
majority of(the majority of 和 a majority of的区别以及用法例句)
2026年10月11日 07:40
another time(another time和other time的区别)
2026年10月11日 05:00






