燕十八php视频教程笔记(PHP基础部分)_第1页
燕十八php视频教程笔记(PHP基础部分)_第2页
燕十八php视频教程笔记(PHP基础部分)_第3页
燕十八php视频教程笔记(PHP基础部分)_第4页
燕十八php视频教程笔记(PHP基础部分)_第5页
已阅读5页,还剩126页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

001-开学典礼002-变量概念及命名规范<?php

//

$a

是钥匙[107房间],

房间里的内容是值,

/*

echo

$a,

什么过程?

根据钥匙上的标贴(107)

---->

找到107房间--->

读取房间内容(一男两女).

*/

$a

=

23;

/*

过程:

先根据$a,找到$a的房间号,

到相应的房间,

把里面的值,换成45

*/

$a

=

45;

echo

$a;

//

45

?>

<?php

/*

1:

php的变量怎么声明

用$变量名

来声明

*/

$price

=

40.1;

/*

2:PHP变量的命名规范

变量名

是"字母,下滑线,数字的组合,并且数字不能做开头"

*/

$_

=

3;

$_price

=

5;

$man1

=

'zhangsan';

$man2

=

'lisi';

echo

$price,$_,$_price,$man1,$man2,'<br

/>';

/*

3:

PHP变量名

是区分大小写的

意味着,

$a,

$A,

不是一个变量.

*/

$name

=

'xiaohua';

$Name

=

'xiaogang';

echo

$name,'~',$Name,'<br

/>';

/*

4:

也可以用中文来做变量,但是严重不推荐

*/

$姓名

=

'刘备';

echo

$姓名;003-变量类型<?php

//

变量类型

/*

1:

整型

对应数学中的整数.

1,2,3,4,5...

99

0

-1,-2

.......

*/

$age

=

28;

echo

$age,'<br

/>';

$age

=

99;

echo

$age,'<br

/>';

$age

=

027;

echo

$age,'<br

/>';

//

思考

打印结果,为什么??

/****

浮点型

对应数学中的小数

0.23

87.53

62.4

****/

$fl

=

0.23;

echo

$fl,'<br

/>';

//

可不可以把上面的浮点的值,修改为整型值.

//

答:在PHP中,可以,PHP中,可以修改变量的值与类型.

//

在C语言中,下一行代码是不允许的.

$fl

=

85;

/*

从数学上看

0.3

-

0.2

==

0.1

*/

$a

=

0.3;

$b

=

0.2;

$c

=

0.1;

if(($a

-

$b)

==

$c)

{

echo

'0.3-0.2

等于

0.1','<br

/>';

}

else

{

echo

'0.3-0.2

不等于

0.1','<br

/>';

}

/***

字符串,一串字符,

生活中常见.

用单引号,或双引号包起来.

***/

$msg

=

'wait

for

you!';

echo

$msg,'<br

/>';

$msg

=

"wait

for

me!";

echo

$msg,'<br

/>';

/*

双引号,单引号有何区别?

在课表上

有专门的章节,讲字符串与数组部分,会详解讲.

*/

/**

布尔型,

只有两个值,要么是真,要么假,

甚至通俗叫"真假型"

**/

$isman

=

true;

$iswoman

=

false;

echo

$isman,$iswoman,'<br

/>';

//

牵涉到变量类型转换.

//

直接echo

布尔型的时间,布尔型被转换成了字符串,

分别

1,''

//

一个boolean

TRUE

值被转换成

字符串"1"。

Boolean

FALSE

被转换成""

(空的字符串)。

//

布尔值只有两种,但是运算很重要.

//

比如,

逻辑与,逻辑或,逻辑反,异或

(在运算符讲解中,详解讲解)

/****

燕式教学法,燕十八发明的.

布尔,数学家,乔治.布尔

发明的.

****/

//

想完整的查看布尔型

var_dump($isman);

var_dump($iswoman);

print_r($isman);

print_r($iswoman);

/***

echo

输出变量,

适宜于

整型,浮点型,字符串型,

这种标量类型

print_r

适合后面要学的对象,数组,这种二维或多维结构的数据.

var_dump,不仅可以打印数据,还可以打出数据的类型.

***/

/****

NULL型,

这种类型,只有一个值,即NULL,

意味着空.

四大皆空的空

我有一张银行卡,

存1000,取1000元,

账面还有0元

我说:燕的账户

=====>

0元,

这种情况整型的

0,是一个整型值.

李四,

没有身份证,根本连银行卡都没有.

这种情况,值是多少?

值就没有

这种情况就是NULL

****/

//

$f

=

5;来说

/*

$f先在

变量名的一个表中,

有f

但是,f却没有指向地址.

自然,也就"没有值"

一个钥匙(107)

--->

指向

--->107房间

NULL型钥匙,

--->

连钥匙的齿都没有,也没有标号,指向哪一个房间.

*/

$user

=

null;

//

没有一个值.

/****

一个变量,什么时间为null

1:

给一个变量

赋值为null,

相当于银行账户取消,卡消磁.

2:

某个变量,被unset掉.

(unset是销毁一个变量)

3:

只声明,不赋值,也为null

*****/

$age

=

22;

unset($age);

$class;

var_dump($user);

var_dump($class);

var_dump($age);004-动态变量及变量类型检测<?php

//

动态变量

/*

动态变量,即---变量名,还可以是一个变量

PHP的语法非常灵活,允许变量名字,仍是一个变量.

*/

$str

=

'hello';

$hello

=

'welcome

to

zixue.it';

echo

$str;

//

hello;

echo

$hello;

//

welcome

to

zixue.it

echo

$$str;

//

$str的值是hello,

hello又充当了下一个变量的名字,即最终显示$hello的值,即welcom...

echo

'<hr

/>';

$a

=

'hello';

$hello

=

'world';

$world

=

'china';

echo

$$$a;

//

$a

:

hello

,

$$a==$hello

==

world;

$$$a

=

$world

==

china;

?>

<?php

//

$_GET地址栏传值,可能有的同学还没碰到过,如不知道,先照做.

$who

=

$_GET['who'];

$laoda

=

'刘备';

$laoliang

=

'关羽';

$laosan

=

'张飞';

//

$who有可能是

laoda,laoliang,laosan

echo

$$who;

?>

<?php

//

变量的检测

//

在讲解的NULL的过程,有些变量,根本就没有声明过,

//

或者是被unset掉了,再去引用变量的时候,提示一个NOTICE

//

问:我能不能,在用这个变量之前,先判断一个,这个变量有没有.

//

如果有,我再进一步操作.

//

答:可以.

即---如何检测一个变量已存在.

//

知识点:

用isset

来检验

一个变量是否存在.

$age

=

23;

if(isset($age))

{

echo

'age变量已经声明了';

}

else

{

echo

'user变量根本就不存在';

}

//

不声明$user

if(isset($user))

{

echo

'user变量已经声明了';

}

else

{

echo

'user变量根本就不存在';

}

?>

<?php

//

变量类型的判断

$a

=

123;

//

整型

$b

=

'123';

//

字符串型

$c

=

78.9;

//

浮点型

$d

=

null;

//

NULL型

$e

=

true;

//

布尔型

if(is_int($a))

{

echo

'a是int型','<br

/>';

}

else

{

echo

'a不是Int型,','<br

/>';

}

if(is_string($b))

{

echo

'b是string型','<br

/>';

}

else

{

echo

'b不是string型,','<br

/>';

}

//

gettype

,直接获取一个变量的类型.

echo

'c是',gettype($c),'<br

/>';

echo

'd是',gettype($d),'<br

/>';

echo

'e是',gettype($e),'<br

/>';

?>

<?php

//

变量的销毁

if(isset($age))

{

echo

'age变量已设置';

}

else

{

echo

'age变量未设置';

}

$age

=

22;

if(isset($age))

{

echo

'age变量已设置';

}

else

{

echo

'age变量未设置';

}

unset($age);

//

$age变量被销毁了.

if(isset($age))

{

echo

'age变量已设置';

}

else

{

echo

'age变量未设置';

}

//

为什么要把变量销毁

//

因为内存空间是有限的,销毁变量,可以腾出空间.

//

拆迁就是unset,拆掉的是旧房子,腾出的地皮,用来储存新值.

?>005-传值赋值与引用赋值<?php

//

09.php

//

传值赋值,

引用赋值

$a

=

3;

$b

=

5;

//

如果是新手,可能会对这个=号,误会

,这个等于号,是赋值用的.

$a

=

$b;

//

$a

=

$b

//

发生的是:把$b的值,读出来,再把值,放到$a的空间里,即赋给$a.

//

就是把$b的值,传递给$a,叫做传值赋值.

echo

$a,'<br

/>';

//

5;

//

在这个过程中,仅仅是参考了一个$b的值,然后呢,把$b的值,复制一份到a的空间去.

//

之后,$a,$b,两者还是没有关系,因为$a,$b的值还是放在各自的内存空间

echo

$a,$b,'<br

/>';

//

5,5

echo

$b

=

99;

echo

$a,'~',$b,'<br

/>';

//

5,

?>

<?php

//

引用赋值

$a

=

3;

$b

=

5;

//

下面这一行,发生了:

//

把$a这把钥匙的指向,指向了$b的地址.

//

即:

$a,$b

,指向同一个地址?

//

就像,两个钥匙,指向同一个房间.

$a

=

&$b;

echo

$a,$b,'<br

/>';

$b

=

9;

echo

$a,$b,'<br

/>';

//

99

//

================

认真看下一题====//

unset($b);

echo

'~~~',$a,'~~~';

//

9

/*

原因很简单,

因为有$a,$b两个变量指向同一个地址.

$b销毁了,

$a没销毁,

变量有一个机制,当某段地址存的值,有一个变量在指向他的时候,就不006-常量概念及定义方法<?php

/****************

变量是可以随意赋值的,

$pi,这个重要的变量,被很多公式参考的一个变量.

结果,被其他开发人员,给重赋值了?

影响了所有的公式.

这时,怎么办?

问题很明显:

某个重要的值,如果赋给变量,容易被修改.

解决办法(1):

在入职合同里,写清楚,

如果重赋值$pi,直接开除.

解决办法(2)

想:如果某种量,他的值,一旦定义,就不能修改,那就太好了.

PHP有没有这种好使的东西?

答:

有,常量,常量的值不能修改.

*/

?>

<?php

//

珠峰的高度是

8846

/*

定义常量的语法

//

define('常量名','常量值');

*/

define('HEIGHT',8846);

/*

常量的引用

echo

常量名;

//

没有$符号

*/

echo

HEIGHT,'<br

/>';

/**

常量的特点

1:

一旦定义,值不能被修改,不能重新赋值

**/

//

HEIGHT

=

8888;

//

直接语法错误

/**

有同学想:既然常量不能用等号重新赋值,

那么能否用define,再定义一次,

并且,定义一个新值

常量的特点

1:

一旦定义,也不能重复定义

**/

define('HEIGHT',8888);

/**

刚才,虽然重新定义提示了一下,

但是,值到底有没有被改成8888呢?

**/

echo

HEIGHT,'<br

/>';

//

还是8846

?>

<?php

//

常量的第3个重要特点,即"全局有效性",说白了,就是页面任意一处都能访问到.

//

这个特点需要结合函数才能体现

//

没学过函数的同学

先不要着急,可以先记住这个特点.

define('HEI',8846);

$hei

=

1234;

echo

HEI;

//

8846

echo

'<br

/>';

echo

$hei;

//

1234;

echo

'<hr

/>';

function

t()

{

echo

HEI;

//

8846

echo

'<br

/>';

var_dump($hei);

//

}

t();

//

函数,函数体内,变量有一个作用域的概念.

//

比方:

整个页面是操场

//

函数是操场内的一间小屋.

//

操场上,有一个用户:张三

//

在小屋里,喊张三,

//

PHP会认为,在小屋里找张三,

//

而且小屋里张三,和操作上的张三,不是一个人.

//

函数有自己的一片小空间,有自己的变量范围

//

但,与之对比的是,常量,却正确的打印出来.

//

这就是我们所说的,常量的"穿透性",

//

常量一旦定义,

在页面的任何旮旯角落里,都能够访问到.

?>007-常量用法详细探讨<?php

//

常量的命名规则

//

常量的命名规则和变量一样

define('hei',8846);

echo

hei;

//

但是,习惯上大写.(语法上允许小写)

//

常量

也区分大小写

echo

HEI;

//

先找HEI常量的值,没找到,当成字符串来输出了.

//

如果引用了一个未曾定义的常量,

//

因为没定义该常量,自然找不到值,

//

最终会把常量名当成字符串来输出.

?>

<?php

//

常量的命名规则

//

常量的命名规则和变量一样

define('hei',8846);

echo

hei;

//

但是,习惯上大写.(语法上允许小写)

//

常量

也区分大小写

echo

HEI;

//

先找HEI常量的值,没找到,当成字符串来输出了.

//

如果引用了一个未曾定义的常量,

//

因为没定义该常量,自然找不到值,

//

最终会把常量名当成字符串来输出.

?>

<?php

//

常量的检测

//

我们知道,一个变量是否已声明,可以检测到,用isset即可检测

//

开发时,我想知道,某个常量有没有定义,

//

如果还没定义,我就去定义.

//

怎么样判断一个常量

是否定义过呢?

//

用defined('常量名');

即可检测

//

如果常量已定义,返回true

//

如果常量没定义,返回false

if(defined('HEI'))

{

//

此行,HEI常量从未被定义过,返回false,程序走else段

echo

'HEI常量已经定义<br

/>';

}

else

{

echo

'HEI常量还没定义,我来定义<br

/>';

define('HEI',8846);

}

echo

'<hr

/>';

if(defined('HEI'))

{

//

此行,HEI已经在上面的else被定义了,返回true

echo

'HEI常量已经定义,值是',HEI;

}

else

{

echo

'HEI常量还没定义,我来定义<br

/>';

define('HEI',8846);

}

?>

<?php

//

变量可以是动态的,即变量名,还可以是一个变量

$who

=

$_GET['who'];

//

准备传

DA

LIANG,SAN

//

动态的根据传来值,显示不同的常量

define('DA','刘备');

define('LIANG','关羽');

define('SAN','张飞');

echo

$who,'<br

/>';

//

DA

//

echo

DA;

//

刘备

//

以$who

=

DA为例

//

$who变量的值是DA,解析变量得到DA,打印DA,这没有错,

//

但问题是,我们想解析出$who的值,即DA,再把DA当成"常量的名,再解析一下,解析出常量的值来"

//

想用动态常量的话,即想用变量的值当常量名的话,必须要靠constant函数,才可以.

echo

constant($who);

//

$who的值解析出来,例DA,contant函数,再去解析DA对应的常量的值.

?>

总结:

为什么要常量?

答:因为有些重要的值,不希望被改变.

常量的特点:

1:一旦定义,不能重新赋值.

2:一旦定义,不能再次定义

3:一旦定义,页面内任何角落都可以访问,没有"作用域"的限制

常量的命名规范

1:和变量一样

2:习惯上大写

常量的值的类型

只能是标题类型:

整型,浮点型,字符串,布尔,NULL

常量的检测

defined('常量名')

来检测

如果已定义,返回true

如果未定义,返回false

动态常量

动态常量,需要用constant函数来实现

contant($var),则会把$var

的值,当成一个常量的名,并解析出常量的值为.

开发中,什么时间适合用常量

比如:网站的根目录,D:/www/

网站配置文件,不希望被更改,也可以写成常量.008-算术运算符<?php

//

运算符的概念

//

表达式的概念

$a

=

3;

$b

=

5;

/*

PHP程序如何进行加减乘除,取模

依次是

+

-

*

/

%

*/

$c

=

$a

+

$b;

//

这句话的含义是$a+$b的计算结果,

赋给$c

echo

$c,'<br

/>';

//

8;

echo

$b

-

$a,'<br

/>';

//

计算$a-$b的值,计算结果

echo出来

$c

=

$a

*

$b;

//

计算$a

*

$b的结果,赋给$c

echo

$c,'<br

/>';

//

15;

$c

=

$b/$a;

//

1.66666666

echo

$c,'<br

/>';

//

此处$c是一个浮点型

/**

如果是在C语言中,

$b,$a都是整型,因此计算出来的$c

也是整型.

在PHP中,变量的值可以随意改变,而且变量的类型,也可以改变.

比如

变量$c是整型,可以突然为之赋一个浮点型值.

因此PHP称为动态语言

**/

//

求余/取模

运算

/*

在计算机里计算除法的时候,算出来2个结果,

余数

*/

$c

=

$b%$a;

//

得1

余2

echo

$c,'<br

/>';

//

小测试,判断一个数,是偶数,还是奇数?

//

可以对2取模,余数是1,则为奇数,如果余数为0,则是偶数

$d

=

4;

$res

=

$d

%

2;

if($res

==

1)

{

echo

$d,'是奇数';

}

if($res

==

0)

{

echo

$d,'是偶数';

}

//

上初中了

,有了负整数的概念

$b

=

-5;

$a

=

3;

echo

$b

%

$a,'<br

/>';

//

-2

$b

=

-5;

$a

=

-3;

echo

$b

%

$a,'<br

/>';

//

-2

//

注意:

在取模运算时,

//

运算的正负结果,

取决于被除数的符号.

//

结果的符号,和被除数的符号一致.

?>009-比较运算符及类型转换<?php

//

比较运算符

//

想一想初中时学过的证明题,证明

a^2

+

b^2

>=

2

*

a*b

//

这儿就用到了>=

//

逻列一下比较运算符

/*

>

大于

<

小于

>=

大于等于

<=

小于等于

==

等于

!=

不等于

===

全等于,(不仅值相等,连变量类型也相等)

!==

不全等于

*/

$a

=

3;

$b

=

2;

if($a

>

$b)

{

echo

$a,'果然大于',$b;

}

else

{

echo

$a,'并不大于',$b;

}

echo

'<br

/>';

if($a

>=

$b)

{

//

>=

意味着,$a

$b大,或者==$b,

都行.

echo

$a,'果然大于等于',$b;

}

else

{

echo

$a,'并不大于等于',$b;

}

echo

'<br

/>';

$a

=

3;

$b

=

3;

if($a

>=

$b)

{

//

>=

意味着,$a

$b大,或者==$b,

都行.

echo

$a,'果然大于等于',$b;

}

else

{

echo

$a,'并不大于等于',$b;

}

/*

<

<=

同上,自己测试一下

*/

//

再看全等于

echo

'<br

/>';

$a

=

3;

//

整型3

$b

=

3;

//

整型3

if($a

===

$b)

{

echo

$a,'等于',$b;

}

else

{

echo

$a,'不等于',$b;

}

//

3

等于

3

echo

'<br

/>';

$a

=

2;

//

整型3

$b

=

3;

//

整型3

if($a

===

$b)

{

echo

$a,'等于',$b;

}

else

{

echo

$a,'不等于',$b;

}

//

2不等于3;

echo

'<br

/>';

$a

=

3;

//

整型3

$b

=

'3q';

//

整型3

if($a

===

$b)

{

echo

$a,'等于',$b;

}

else

{

echo

$a,'不等于',$b;

}

//

3

不等于

3q

//========看看下面这个=======//

echo

'<hr

/>';

$a

=

3;

//

整型3

$b

=

'3q';

//

整型3

if($a

==

$b)

{

echo

$a,'等于',$b;

}

else

{

echo

$a,'不等于',$b;

}

/*

===,

是全等于,

必须变量的类型相等,并且

值相等,

才全等于.

判断的非常严格

==,

是等于,

并不要求变量的类型必须相等.

但是,如果类型都不一致的话,两者又谈何相等呢?

3

又怎么会

等于

'3q'字符串

还有下面的,

true是布尔类型,布尔只有true/false两种情况

和5,根本就不是一个世界的人,又谈何比较呢?

*/

echo

'<br

/>';

$a

=

true;

$b

=

5;

if($a

==

$b)

{

echo

'true=5';

}

else

{

echo

'true不等于5';

}

/***

在不同的类型比较时,

PHP程序本身

会把变量转换成一致的类型,然后再去比较.

着重记以下几个转换

1:

布尔值

-->

字符串

2:

字符串

-->

数字的转换

3:

字符串

-->

布尔的转换

4:

数字

--->

布尔的转换

5:

数字

--->

字符串转换.

***/

/*

以5

==

true比较为例

是把

整型5

,转成布尔型.

其实有的语言中,根本就没有布尔型,都是拿

1,

0

充当

true/false用.

0,

0.0,

这两个值,转换成布尔是

false,

其他

都是true,

包括负数,也是true

*/

echo

'<br

/>';

if(0.0

==

true)

{

echo

'0.0

==

true';

}

else

{

echo

'0.0

!=

true';

}

echo

'<br

/>';

if(-3

==

true)

{

echo

'-3

==

true';

}

else

{

echo

'-3

!=

true';

}

/****

1:

布尔值

-->

字符串

true

-->

'1'

false

--->

'';

2:

字符串

-->

数字的转换

从字符串左端开始找数字,直到第一个非数字结束,取出来的这一部分,即是转换后的值.

'3q'

===>

3

'123abc456'

===>

123

'fdsafdsaf789'

===

>

0

****/

echo

'<hr

/>';

$num

=

'fdsafdsaf789';

echo

$num

+

0;

//

0

/**

3:

字符串

-->

布尔的转换

''字符串,'0',这种转换成

false,

其他一概是true

**/

echo

'<br

/>';

if(''

==

false)

{

echo

'空字符串等于false';

}

else

{

echo

'空字符串不等于false';

}

echo

'<br

/>';

if('0'

==

false)

{

echo

'字符串0等于false';

}

else

{

echo

'字符串0不等于false';

}

/**

4:数字转布尔

只有整型的0,和浮点0.0,

转成false

其他,甚至负数,也转成ture

**/

/**

数字到字符串的转换

直接是字面本身

**/

echo

'<br

/>';

echo

'abc'

.

123;

//

abc123s

?>010-字符串&赋值运算符及运算返回值<?php

//

字符串

//

在PHP中,字符串,有一句运算

,就是拼接.

//

运算符是

"."

$str1

=

'hello';

$str2

=

'

';

$str3

=

'world';

$str

=

$str1

.

$str2

.$str3;

echo

$str,'<br

/>';

//

hello

world;

//

新手的疑问,甚至工作半年的也疑问.

//

怎么可以用','

echo

$str1,$str2,$str3,'<br

/>';

//

hello

world

echo

$str1

.

$str2

.

$str3

.

'<br

/>';

//

hello

world

/*

这一行,是$str1,$str2,$str3在内存中,拼接运算,

运算出一个'hello

world'一个大字符串,

然后echo

之,得到判断的结果

echo

$str1

.

$str2

.

$str3

.

'<br

/>';

//

hello

world

echo

$str1,$str2,$str3,'<br

/>';

//

hello

world

echo

是一个语句,负责输出用的,

可以通过','分割,一次输出多个变量或值来.

综上:

'

.

'是先拼接,再整个输出.

'

,

'是挨个儿把3个变量输出.

面试时,会碰到这个问法:

上面两种情况,用','和用'.'

哪个输出的快,效率高?

答:逗号快,因为省去了一次拼接计算的过程.

*/

?>

<?php

//

赋值运算符,

就是

=

//

作用是,把'

=

'右边的值,赋给左边的变量

$a

=

3;

//

把3赋给变量$a

$b

=

$c

=

$d

=

5;

echo

$b,$c,$d;

//

5

5

5,从右到左都赋上了5

?>

<?php

//

运算符的运算结果

/*

大家想:

既然是运算,运算完之外必须得有一个结果---结果值

*/

/*

3

+

2;

运算结果

5

容易理解

**/

$a

=

3;

$b

=

2;

$c

=

$a

+

$b;

var_dump($c);

//

int

5

/*

比较运算符

注意:比较运算符返回结果,只有2个可能

ture/

false

$a

==

$b为例,

要么等,要么不等.

要么是真,要么是假.

3

==

2;

运算结果是:

false

*/

$c

=

(3

==

2);

$d

=

(3

>

2);

//

返回的值,即true,赋给了$d

var_dump($c);

var_dump($d);

/*

字符串运算符

$a

.

$b

返回结果:

,

拼接后的字符串

*/

/***

赋值运算符,返回值是多少呢?

$a

=

3;

***/

if($a

=

99)

{

echo

'aa';

}

else

{

echo

'bb';

}

//

你知不知道,if里

判断的是哪个值?

//

赋值运算符的运算结果,就是

=

右边的值

echo

'<br

/>';

$b

=

($a

=

99);

var_dump($b);

//

再思考

下一行发生了什么?

$a

=

$b

=

$c

=

$d

=

88;

//

过程是这样,

$d

=

88先进行,

赋值后返回88,

//

返回的88,再赋给$c,

//

同理....

//

最终$a

也赋值为88

/******

算术运算符

比较运算符

字符串运算符

赋值运算符

两个难点;

1:比较运算时,有一个类型转换的问题.

2:

凡运算,必有返回值.

比较运算返回布尔值,

赋值运算,返回赋的值本身.

*******/

//

再来看这个操作

$a

=

10;

$a

=

$a

+

2;

//

经历了2个步骤

//

$a原始的值

,和

数字2

,进行算术运算,相加.

//

既然相加,必返回计算结果,

加2后的新结果,再次赋给$a

echo

$a;

//

12;

?>011-逻辑运算符<?php

//

逻辑运算符

/*

命题:

真命题,假命题

true,

false

==

==

==

不要去死记硬背,来理解他.

逻辑运算符:

逻辑或

||

or,

逻辑与

&&

and

*/

/***

一女生

一男生说:

你有房,或者,有宝马车,

我就嫁给你.

前面是条件,

后面是根据条件判断的结果.

条件有2个

,

有房

||

有车

问:

此男,

有房,即

第一个条件,为真

无车,即

第二个条件,为假

此女能否嫁给此男?

答:

能,有房或者有车,

2种有一种,总体上就可以嫁.

问:

此男,既有房,又有车,能不能嫁?

答:

能,赶紧嫁,把闺密也带上.

***/

/*

3个180的好男人

*/

$house

=

180;

$car

=

'';

if($house

||

$car)

{

echo

'可以嫁';

}

else

{

echo

'再等两年';

}

echo

'<br

/>';

$house

=

0;

$car

=

'BMW';

if($house

||

$car)

{

echo

'还是可以嫁';

}

else

{

echo

'再等两年';

}

echo

'<br

/>';

$house

=

0;

$car

=

'';

if($house

||

$car)

{

echo

'还是可以嫁';

}

else

{

echo

'再等两年';

}

echo

'<br

/>';

//

逻辑且,

条件"并且"的关系

/*

女二号,对

男二号说

你必须有房,

并且,

还得有BMW车,才嫁.

*/

$house

=

180;

$car

=

'';

$res

=

$house

&&

$car;

//

把$house

&&

$car的逻辑运算结果,赋给$res

var_dump($res);

if($res)

{

echo

'还是可以嫁';

}

else

{

echo

'再等两年';

}

echo

'<br

/>';

//

===奋斗两年===

//

$house

=

180;

$car

=

'BYD';

//

$res

=

$house

&&

$car=='BMW';

//

如果这样写,3者,谁先结合呢?

牵涉到运算优先级的问题.

//

我们推荐,在多个量进行运算的时候,需要先在一块的单元,用()包起来

//

这样可以使程序易读,易理解,不容易产生歧义.

//

同学们请注意:

写程序是为了更好的使用和维护,一定要让程序尽量的清晰,无歧义,好理解.

//

而不要去炫耀技巧

$res

=

$house

&&

($car

==

'BMW');

//

&&

,假

var_dump($res);

if($res)

{

echo

'还是可以嫁';

}

else

{

echo

'再等两年';

}

echo

'<br

/>';

//

=======再奋斗2年=====

//

$house

=

180;

$car

=

'宾利';

if($house

&&

($car

==

'BMW'))

{

echo

'还是可以嫁';

}

else

{

echo

'再等两年(看走眼了...)';

}

echo

'<br

/>';

//

====

八年过去=====

$age

=

22;

$age

=

$age

+

4*2;

if($age

>=

30)

{

echo

'88了您';

}

else

{

echo

'我继续奋斗';

}

/******

==

==

==

==

==

==

==

==

******/

?>

<?php

//

结果昨天学的

赋值运算符,和今天的逻辑运算符

$a

=

3;

$b

=

5;

if(($a

=

8)

||

($b

=

9))

{

$a

=

$a

+

1;

$b

=

$b

+

1;

}

echo

$a,'~',$b,'<br

/>';

/***

分析,

用()

包起来

2个

运算式

($a

=

8)

这是一个赋值表达式,

返回值是

8

8

在做if

判断,转成bool,是

true.

再想:

生活中的例子:

你有房

有车,都可以嫁

男说:自己有房,

只根据房子,已经可以判断出总的结果---

可以嫁.

所以,车根本就不用再判断.

这个特性称之为:

逻辑运算的短路特性.

一旦从逻辑上能分析出结果后,后面的表达式将不再运行.

***/

echo

'<br

/>';

$a

=

3;

$b

=

5;

if(($a

==

3)

&&

($b

=

99))

{

echo

$a,'~',$b,'<br

/>';

}

/*

先是

$a

==

3

表达式运行,计算结果为

true

但是,后面是

&&

,

生活中的例子:

你有房

并且

有车,才可以嫁

男说:自己有房,

女还得继续判断,

是否有车,才能最终定结果.

*/

echo

'<br

/>';

$a

=

3;

$b

=

5;

if(($a

>

3)

&&

($b

=

99))

{

echo

$a,'~',$b,'<br

/>';

}

else

{

echo

$a,'~',$b,'<br

/>';

}

/***

***/

$a

=

3;

$b

=

5;

if($a

==

3

&&

$b

>

5

||

$a

>

3

&&

$b

==

5

)

{

echo

'aaaa';

}

else

{

echo

'bbbb';

}

/**

上面这个表达式,是为了告诉大家,逻辑运算的优先级

&&

的优先级

||

但是在开发中,不推荐这么写

**/

if(

($a

==

3

&&

$b

>

5)

||

($a

>

3

&&

$b

==

5)

)

{

echo

'aaaa';

}

else

{

echo

'bbbb';

}

?>

<?php

//

逻辑反

//

一个命题如果是真命题,则其反命题,

是假命题.

$a

=

true;

if($a)

{

echo

'hello';

}

else

{

echo

'world';

}

//

hello

echo

'<br

/>';

if(!$a)

{

echo

'hello';

}

else

{

echo

'world';

}

//

world

//

$a为真,因此

!$a,即$a的反命题,为假

?>

<?php

//

异或运算

xor

//

异或是指,

两个条件必须"一个真,一个假,才为真"

$li

='女';

$mei

=

'男';

//

这个异或表达的是,必须一个为男,一个不为男,整体才为真.

if(($li

==

'男')

xor

($mei

==

'男'))

{

echo

'可以结婚';

}

else

{

echo

'好基友,去北欧';

}

$a=3;

$b=5;

if($a=5

||

$b=7)

{

$a++;

$b++;

}

echo

$a

."

".$b;

$a

=3

=

4;

echo

$a;

?>012-三元及递增递减运算符<?php

//

三元运算符

/*

条件?返回值1:返回值2

如果条件为真,则返回值1,

否则,返回值2

*/

//

比如

在网站中判断一个人有没有登陆.

//

如果登陆,用户名不为空,则显示其用户名.

//

如果没登陆,用户名为空,则显示

"游客"

$user

=

'zhangsan';

if($user

!=

'')

{

echo

$user;

}

else

{

echo

'游客';

}

echo

'<br

/>';

$res

=

($user!=''?$user:'游客');

echo

$res;

$user

=

'';

echo

'<br

/>';

echo

$user!=''?$user:'游客';

//

程序如果没用三元运算符,可以用什么代替?

//

可以用if/else代替.

//

三元只是一个简化的写法.

//

而且效率没有if

else

高.

?>

<?php

//

递增

递减运算符

//

就是语言中没有递增

递减,也不会影响我们写程序.

//

也是一些场景的简化写法

/*

分析,

$b+1是一个算术运算,算出结果是3,注意,这个3是一个"算出结果",和$b没有关系.

这个算出结果,值给了$a,

因此,$a为3,

$b为2

*/

$b

=

2;

$a

=

$b

+

1;

echo

$a,'~',$b,'<br

/>';

//

3~2

/***

$b++,

这是一个递增运算,运算则必有运算结果.

问题

$b++的运算结果是什么呢?

答:

$b++,运算结果

是$b本身.

然后再把$b的值+1

就相当于

return

$b;

$b

=

$b

+

1;

生活中的例子:

号外号外,特大新闻,已经在81个人上当受骗.

你到前问:

现在有多少人受骗了.

报童:

81人

你知道了81受骗,于是买了份报纸走了,在你印象中,有81人受骗.

但是你刚走之后,

号外号外,特大新闻,已经有82个人上当受骗.

***/

$b

=

2;

$a

=

$b++;

echo

$a,'~',$b,'<br

/>';

//

2~3

/*****

如果++号放在变量前,

则是先把变量加1,

然后加1的结果返回.

相当于

$b

=

$b

+

1;

return

$b;

生活中的例子:

排队领号

前面已有10人.

$b

=

10;

服务员给你号的时候,先根据前面的10,算出你的号应该是11,

然后告诉你,你的号是11

*****/

$b

=

2;

$a

=

++$b;

echo

$a,'~',$b,'<br

/>';

//

3~3

/***

递减与递增同理

$b--,是先返回$b,$b

=

$b

-1;

--$b,是先$b

=

$b

-1;

再返回$b

***/

$b

=

3;

$a

=

$b--;

echo

$a,'~',$b,'<br

/>';

//

3~2

$b

=

3;

$a

=

--$b;

echo

$a,'~',$b,'<br

/>';

//

2~2

/***

$i

=

2;

$i

=

$i++

+

++$i

+

$i++;

碰到这种面试题,大胆对面试官说:我不会这种代码.

写程序是为了给人看.

1:

这种程序无法维护

2:

这种程序在各种语言里,甚至不同的编译器里解释都不一致.

不要去刻意的做这种题,没有意义.

写程序是为了用,不是考奥数.

***/

?>013-位运算(了解)<?php

//

位运算符

说白了就是

二进制+逻辑运算符

//

人有10个指头,用10进位,便于计算

//

玛雅人,不穿鞋,连脚趾也算上,20进位.

//

进位是多少没关系,关键是方便我们使用.

//

对于计算机来说,所有的位,都只有2种状态.

0

1

/*

因为百进位上,1代表100

10进位上,1代表

10

个位,1代表

1

987

=

9*

100

+

8

*

10

+

7

*

1;

987

=

9

*

10^2

+

8*10^1

+

7

*

10^0;

7

=

4

+

2

+

1

=

1*2^2

+

1

*

2^1

+

1

*

2^0;

7

=

111(2)

转化5

2进制

5

=

4

+

1

=

1

*

4

+

0

*

2

+

1*1

=

1

*

2^2

+

0

*

2^1

+

1

*

2^0

=

101(2)

把7转成3进行

7

=

6

+

1

=

2

*

3^1

+

1

*

3^0

=

21(3)

如果对于进行转换不了解的,请自行百度,先补习一下.

因为这个是和数学相关,无法几十分钟说完.

***/

//

燕十八已经28岁了,

//

但是呢,他总说自己18岁,

//

你知道

他用的是几进制吗?

?>

<?php

$a

=

12;

$b

=

5;

/***

我们知道,计算机里的信息,都是以0,1来存储的.

一个可以存储0/1的单元,称为位bit

8个位组成一个字节,Byte,

字节是计算机里最基本的单位.

12

=

8

+

4;

=

1

*

2^3

+

1

*

2^2

+

0

*

2^1

+

0

*

2^0

=

1100

5

=

101

但是计算机里,最基本的单位就是字节,有8个位,只用了3个位怎么办?

答:把用的3个或4个位,写在字节的右边

左边的这些位,用0补上.

因此,计算机里:

12

=

0000

1100

5

=

0000

0101

***/

/**

按位运算符

&

,把2个二进制值对齐,

把1看成ture,把0看成false,

然后每个位上都做

并且

的运算

,

|

,把2个二进制值对齐,

把1看成ture,把0看成false,

然后每个位上都做

或者

的运算

,

^

,把2个二进制值对齐,

把1看成ture,把0看成false,

然后每个位上都做

异或

的运算

,

**/

/*

12

=

0000

1100

5

=

0000

0101

----&---------

0000

0100

12

&

5

=

4;

*/

/*

12

=

0000

1100

5

=

0000

0101

----|---------

0000

1101

12

|

5

=

13;

*/

/*

12

=

0000

1100

5

=

0000

0101

----^---------

0000

1001

12

^

5

=

9;

*/

echo

12

&

5,'<br

/>',12

|

5,'<br

/>',12

^

5;

//

4,13,9

//

提醒大家:

计算机是按位算,我们操作,往往直接10进制

//

大家对二进制有了解即可.不强求深入.

?>

<?php

$a

=

12;

/**

$a

=

0000

1100;

按位求反

0000

1100

~-----------

1111

0011

**/

echo

~12;

/***

计算机里表示负数,是用补码的规则来计算的

具体这样来计算负数,假设有8位

最高位是1

得出符号是负

开始补码规则

计算除符号位之外,其他7位的绝对值

()111

0011

=

115;

然后再把

绝对值

-

2^7

=

115

-

128

=

-13

因此:

1000

0001

===>

不要想当然是

-1

而是

1

-

128

=

-127

1111

1111

===>

111

111==127

-

128

=

-1

1000

0000

==>

-128

1111

1111

===>

-1

0000

0000

===>

0

0111

1111

====>

127

为什么

有人问:

-128

+127

直观来理解

-127

-0,+0,+127

***/

//

位运算,掌握更好,掌握的不熟悉也不要纠结.

?>

<?php

//

移位运算

/**

5

=

0000

0101;

5

<<

1;

0000

1010;

//

10

相当于*2的效果

**/

echo

5

<<

1;

/*

5

=

0000

0101

5

>>1

=

0000

0010

=

2;

相当于除2的效果

*/

echo

5

>>

1;

?>014-3大控制结构之顺序和分支<?php

/*

之前学习了"量"--变量

常量

量与量之间,可以运算,

运算符.

如果只有量与量的运算,那么我们学的知识只够做一个计算器.

想写程序:还得有控制结构

控制结构,就是条件与逻辑,控制代码的执行顺序.

比如:

商城的服务员,培训的时候,学会两句话

"先生

您好"

"女士,您好"

来人的时候,是不是该服务员就把学会的两句话说一遍呢?

答:不是,而是根据对方的性别,是男是女,进行问候.

假设咱们不会编程,但你是经理,你在培训服务员的时候,该怎么样简单明了的告诉服务员?

经理大致会这么来培训:

判断出顾客的性别

如果顾客的性别是男,

你就说:"先生您好"

否则如果顾客的性别是女,

你就说:"女士您好"

否则最后,你就说,"春哥

你好"

通过这个例子,来告诉大家,

编程

不难,

编程就是说话.(请大家记住我这句话)

你能把一件事描述清楚,你就能写程序.

如果你感觉没思路,那是因为你连事情怎么发展都没想清楚

*/

/***

经理

是用中文

--培训-->

服务员

程序猿

是用PHP

--培训-->

计算机

把事想清楚之后,编程就是一个翻译而已.

如果-->if

否则如果-->else

if

否则

else

***/

$gender

=

$_GET['gender'];

if($gender

==

'男')

{

echo

'先生

你好';

}

else

if($gender

==

'女')

{

echo

'女士

您好';

}

else

{

echo

'春哥

您好';

}

/***

如上,3句话只能根据情况,合理的显示其中一段,

我们已经用上"流程控制"

即我们学的"控制结构"

***/

?>

<?php

/***

有几种控制结构

答:

顺序

分支

循环

这3种控制结构.

所有语言都这样.

??

几十来,为什么没有发展出第4种控制结构

有一位计算机科学家写过一篇论文--这3种控制结构对于编程模型足够了.

***/

//

顺序结构

/**

顺序结构,就是语句按照你书写的顺序,从前到后顺序执行.

最容易理解.

**/

echo

'a:8点了,<br

/>';

echo

'b:来YY88354001频道上课了<br

/>';

echo

'c:我听懂了<br

/>';

echo

'd:我开始写博客了';

/***

非常自然,应该a,b,c,d打印下来

按我们书写的顺序,次第执行.

这就是顺序结构

***/

?>

<?php

//

分支结构

//

顾名思义,有分支,就像一条大路,走了3岔口,该选择一个走下去了.

//

最简单的,单路分支

$age

=

18;

if($age

>=18

)

{

echo

'你';

echo

'已';

echo

'成年';

}

//

这个if中的代码,

要么执行,不么不执行.

//

括号中的表达式,如果为真,则执行,否则,不执行.

echo

'<br

/>';

//

双路分支,

if/else

$year

=

2012;

$birth

=

1965;

$age

=

$year

-

$birth;

if($age

>

28)

{

echo

'你是中老年';

//

代码段1

}

else

{

echo

'你是有为青年';

//

代码段2

}

//

if为真,则代码段1执行

//

if为假,则代码段2执行.

//

if/else

中的两个代码,有且只有一段被执行.

echo

'<br

/>';

$today

=

'0920';

if($today

==

'0707')

{

echo

'牛郎有时间';

}

else

{

echo

'织女有时间';

}

//

想想,

牛郎,织女永远见不到面了.

//

if

else

离的很近,但是没有缘分.

echo

'<br

/>';

//

多路分支

$age

=

450;

if($age

<=

16)

{

echo

'少年';

}

else

if($age

>

16

&&

$age<=28)

{

echo

'青年';

}

else

if($age

>

28

&&

$age

<=

300)

{

echo

'中老年';

}

else

{

echo

'动物园的乌龟跑了';

}

?>015-分支之switch<?php

$day

=

2;//1234567;

/*

if($day

==

1)

{

echo

'星期一';

}

else

if($day

==

2)

{

echo

'星期二';

}

else

if($day

==

3)

{

echo

'星期三';

}

else

if($day

==

4)

{

echo

'星期四';

}

else

if($day

==

5)

{

echo

'星期五';

}

else

if($day

==

6)

{

echo

'星期六';

}

else

if($day

==

7)

{

echo

'星期七';

}

else

{

echo

'你来自火星';

}

*/

//

对于一个变量的值,有多种可能性,用if/else

if来比较,当然是可以的.

//

但是,有一种更简单的分支结构来替换他.

//

switch

case

$day

=

5;

switch

($day)

{

case

1:

echo

'星期一';

break;

case

2:

echo

'星期二';

break;

case

3:

echo

'星期三';

break;

case

4:

echo

'星期四';

break;

case

5:

echo

'星期五';

//

从上到下,判断$day和case

指定的值,是否相等,如相等,则执行以后的语句

break;

//

因此,一定要用break退出.

case

6:

echo

'星期六';

break;

case

7:

echo

'星期七';

break;

default:

echo

'你来自火星';

}

/*****

如果没用switch

case的话,

我们可以用什么来代替?

if

/else

if/else

多路分支来代替

问:

if/else

if

,与switch

case相比,各适合于什么样的场合?

答:

switch

case

,只能判断某变量

是否

与指定的值相等.

比如

值与

1,2,3..7比较,

但是,不能用来判断

范围.

而if

/else

if

可用来判断范围,甚至更复杂的判断表达式也可以.

case,却只能提供一个准备的值,和变量做

==的比较.

如果需要和几个确认的值比较是否相等,适合用switch

*****/

?>016-3大控制结构之循环<?php

//

循环结构

//

编程语言,一般都有

for,while,do/while循环

/*

先看while

假设某人"心理强度"

100

每打他一拳,心理强度减少1,

当心理强度<

30,就能打服.

*/

$hard

=

100;

$hit

=

-1;

/*

$hard

=

$hard

+

$hit;

if($hard

>=

30)

{

echo

$hard,'不服<br

/>';

}

else

{

echo

$hard,'服了<br

/>';

}

$hard

+=

$hit;

if($hard

>=

30)

{

echo

$hard,'不服<br

/>';

}

else

{

echo

$hard,'服了<br

/>';

}

$hard

+=

$hit;

if($hard

>=

30)

{

echo

$hard,'不服<br

/>';

}

else

{

echo

$hard,'服了<br

/>';

}

$hard

+=

$hit;

if($hard

>=

30)

{

echo

$hard,'不服<br

/>';

}

else

{

echo

$hard,'服了<br

/>';

}

$hard

+=

$hit;

if($hard

>=

30)

{

echo

$hard,'不服<br

/>';

}

else

{

echo

$hard,'服了<br

/>';

}

*/

//

不服,接着打;

直到服了为止.

//

即上面的代码段,重复执行,直到$hard

<

30;

/*

while(表达式)

{

语句;

}

意思是:

判断表达式是否为真,如果为真,则执行语句.

执行完语句之后,再回到while开始处,判断表达式是否为真.

如果为真....

.....

...

如果假,本次循环结束

*/

/*

while($hard

>=

30)

{

$hard

+=

$hit;

if($hard

>=

30)

{

echo

$hard,'不服<br

/>';

}

else

{

echo

$hard,'服了<br

/>';

}

}

echo

'29时,hard>=30不成立,来这儿了';

*/

//

问:

while循环,有没有刚来,表达式就假,即里面的语句,一次都不执行,这种情况,有没有可能?

//

答:

当然有

$hard

=

20;

//

软蛋一个,不用你打了.

while($hard

>=

30)

{

$hard

+=

$hit;

if($hard

>=

30)

{

echo

$hard,'不服<br

/>';

}

else

{

echo

$hard,'服了<br

/>';

}

}

//

页面空空的,一次没执行,因为()中的表达式,刚开始就为假.

//

如果碰到下列情况

/*

while(true)

{

echo

'haha<br

/>';

}

死循环,

因为无论执行多少次,true始终为true,将永远执行下去.

小心死机.

*/

/*

思考这种情况:

某看守所,"新收"上来就得挨顿打,不管你是硬还是软.

都要"入学考试"

转成程序语言:

不管你一开始,服不服,总得先打一顿.

*/

$hard

=

20;

do

{

$hard

+=

$hit;

if($hard

>=

30)

{

echo

$hard,'不服<br

/>';

}

else

{

echo

$hard,'服了<br

/>';

}

}

while($hard

>=

30);

//

do,即执行,

上来先执行一下语句,然后再去判断.

//

所以,do/while,至少执行一次.

/***

while循环就像

去快餐吃饭,

服务员先让你付钱,没钱请走人

do/while

则是先吃饭,再判断有没有钱.

有可能,没钱,吃了霸王餐.

***/

?>

<?php

/**

1:写一个程序打印1到100这些数字。

但是遇到数字为3的倍数的时候,打印“Fizz”替代数字,

5的倍数用“Buzz”代替,

既是3的倍数又是5的倍数打印“abcde”。

**/

/*

$i

=

1;

while($i

<=

100)

{

if($i

%

3

==

0)

{

echo

'Fizz','<br

/>';

}

else

if($i

%

5

==

0)

{

echo

'Buzz','<br

/>';

}

else

if(($i

%

3

==

0)

&&

($i

%

5)

==

0)

{

echo

'abcde';

}

else

{

echo

$i,'<br

/>';

}

$i

=

$i

+

1;

}

*/

//

这个程序出错了.

因为

15的倍数,既是3的倍数,也是5的倍数.

//

如果碰到15的倍数,那么

在第一个if中,已经为真

//

后面的不再执行.

//

15的倍数,被3这一段给拦截了.

/*

$i

=

1;

while($i

<=

100)

{

if($i

%

15

==

0)

{

echo

'abcde<br

/>';

}

else

if($i

%

3

==

0)

{

echo

'Fizz';

}

else

if($i

%

5

==

0)

{

echo

'Buzz';

}

else

{

echo

$i,'<br

/>';

}

$i

+=

1;

}

*/

$i

=

0;

while(++$i

<=

100)

{

if($i

%

15

==

0)

{

echo

'abcde<br

/>';

}

else

if($i

%

3

==

0)

{

echo

'Fizz<br

/>';

}

else

if($i

%

5

==

0)

{

echo

'Buzz<br

/>';

}

else

{

echo

$i,'<br

/>';

}

}

?>

<?php

/***

生活中的场景:

富一代:

儿子,给你N万元,断绝父子关系,爱干吗干吗去.

富二代:

当天去打游戏,打完游戏后,钱就少一些.

第二天,数数钱,还够再打的,再去打一天.

.....

.....

直到某一天,钱不够打了,结束.

分析要素:

1:

给钱,初始化动作,只执行一次.

2:

判断够不够打游戏

3:

如果够,打游戏,

4:

钱减少

for(初始条件1;判断条件2;4:钱减少)

{

执行语句3;

}

***/

for($i=10;

$i

>=1;

$i--)

{

echo

$i,'<br

/>';

}

/**

扩展一下for循环,同时循环两个数

打印

5

1

4

2

3

3

2

4

1

5

**/

for($i=5,$j=1;

$i

>=

1;

$i--,$j++)

{

echo

$i,'~~~~~',$j,'<br

/>';

}

?>

<?php

/**

3:百钱百鸡问题:

《张丘建算经》成书于公元5世纪,作者是北魏人.书中最后一道题堪称亮点,通常也被称为“百钱买百鸡”问题,民间则流传着县令考问神童的佳话书中原文如下:

今有鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一;百钱买鸡百只,问鸡翁、母、雏各几何?

题目的意思是,公鸡5文钱1只,母鸡3文钱1只,小鸡1文钱买3只,现在用100文钱共买了100只鸡,问:在这100只鸡中,公鸡、母鸡和小鸡各是多少只?(设每种至少一只)

1只公鸡

5块钱

1只母鸡

3块

3只小鸡

1块

拿了100块钱,买回来100只鸡

问:公鸡,母鸡,小鸡各几只?

**/

/*

思路:

公鸡

1-100只,

母鸡

1-100只

小鸡

1-100只,

暴力组合

*/

for($g

=

1;$g

<=

100;

$g++)

{

for($m

=

1;$m

<=

1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论