php兄弟连学习30-60

整型
浮点型
整型的最大长度
32位表示二进制数表示
整数是由32位二进制保存的
数据里面没有无符号一说

hello world
h e l l o
a->97
b->98
c->99
d 100
e 101
f 102
g 103
h ->104

echo ord(‘h‘);

h是104一个整型,它是由一个32位的二进制存储的

00000000 00000000 00000000 00000000
高电频 低电频

64 + 32 + 8

00000000 00000000 00000000 01101000

104

h

一共31位存储位 一号符号位1负数 0整数
最前面的是符号位置最大的是2的31次方
-2147483648~2147483648

$a = 10;
$b = 077; 八进制
$c = 0xff; 十六进制

超过整数就是浮点了

-------------------------------
浮点数
单精度+双精度
小数点后面一位 和 两位
4个字节

3e17 3*10 17次方
3e-3 0.003
3e3 3000

浮点数不要进行等号判断
<script>
var a = 0;
for(var i=0;i<10;i++){
a+=0.1;
}
alert(a);0.99999999
</script>
$a = floor((0.1+0.7)*10);---7

(0.1+0.7)*10-》7.9
浮点说计算不准确

永远不要相信浮点数结果精确到了最后一位
永远不哟啊比较两个浮点数是否相等(可以转换成整数要想精确)

-------------------------------
字符串类型
单引号或双引号来注明
php不分一个和多个字符,单双引号都可以

在单双引号里可以使用转义字符\,可以让有意义的字符变的无意义

在php中类似js中的字符,不分单个字符和字符串。

php中的单引号和双引号的区别。

js中的变量需要用+号连接
在双引号中可以解析变量,但在单引号中不行。
$int = 10;
$a= ‘this is $int a ‘; this is $int a
$a= “this is $int a ”; this is 10 a
使用特殊字符分开() 空格等分开
\n
\r
\t
\$
\\
\"
在双引号中可以使用转义字符,在单引号中不能使用(在单引号中只能使用转义字符转义单引号‘this is \‘a\‘‘,还可以转义转义字符本身)

功能简单效率高 能用单引号就用单引号
尽量都用单引号

主要区别:
双引号中可以使用变量
双引号中可以使用转义字符,而单引号中只能使用有限的

-------------------------------
使用定界符
1.使用<<<小于号
2.在开始的定界符(自定义的字符串中)一定要左边挨着<<<,写完直接回车
结束的标记一定顶格写连空格都不能有加分号直接回车
3.使用单引号在开始的定界符号中。这样将支持双引号的功能转成单引号功能。php5.3新功能

-------------------------------
8中数据类型
整型
浮点型
boolean
字符型
数组
对象
资源
null
伪类型:不是真正的类型是为了说明函数的类型 @param number $a 整型浮点型 @param mixed 任何类型 @param callback 函数作为参数
-------------------------------
php数据类型之间的转换和检测
1.强制转换
var_dump();
getType();---获取变量的名称字符串
$arr = 1;
echo getType($arr);

A.setType(变量,类型);
$arr = 10;
setType($arr,"string");
echo getType($arr);

B.在变量使用时前面加上类型符号!!good.
$a = "100";
$arr=(double)$a;

C.intval();floatval();strval();
(int)
(boolean)
(float)
(string)
(array)
(object)
资源不能转换

2.自动转换
类型测试的函数
强类型语言里不用判断类型。弱类型语言里需要判断类型。
判断类型
is_bool()
is_array()
is_string()
is_int()
is_float()
is_object()
is_resource()
is_null()
is_scalar()
is_callable()
empty()内容是否为空
is_null()类型是否为空

-------------------------------
常量的声明和使用
常量:一旦声明,这个常量的值就不会改变
$a = 10;
是在栈内存里存储的。
内存是分4个地方存储的。
常量存放在初始化静态段。

常量使用函数声明
1.define()声明的
2.如果常量没有声明,常量名使用会自动转换成字符串 效率很低 慢8倍
3.常量名称前面不要加$符号
4.常量名称区分大小写的 习惯上全部大写
5.可以使用define第三个参数来让这个常量名称来区分大小写,默认是假
6.常量的值只支持标量数据类型4种整型浮点型字符串布尔值
7.不能使用unset()清除一个常量
8.使用defined判断一个常量是否存在
9.常量的范围是全局的。在哪都可以访问
echo constant()读取常量的值
get_defined_constants();读取所有的常量列表

预定义常量
PHP预定义的一些常量
php每个扩展包里有很多常量
-------------------------------
运算符号
一元运算符 !
二元运算符 + - * / > < =
三元运算符 ? :

算术运算符号 + - * / % ++ --
赋值运算符号 = += -= /= %=
比较运算符号 > < == >= <= != !==
逻辑运算符号 && || !
位运算符号 & | ^ >> << ~
其它运算符号 ? : @ ->

/分母不能为0
+没有连接字符串作用
转换成整数再求模

++操作
$a = true;
$a++; true
不参与运算
字符串的++就是升序
a b c d

赋值运算符

+=
-=
*=
/=
%=
.=

比较运算符
1.结果是boolean用if while等语句中
全等===弱类型才有这个。值相等 元类型相等
!==

<> !=

逻辑运算符
and &&
or ||
not !
xor 必须只有一个为真才是真

求模

逻辑运算符
短路现象 最短捷径

die("输出并退出程序");

赋值运算符石最低的
布尔值不参与++运算
$a = 0;
$b = 0;
if($a=3 && $b=3){
$a++;
$b++;
}
echo ($a."-".$b);

位运算符
效率高
按位运算
104由32位0和1二进制组成
0 0000000 00000000 00000000 00000000

& | ^ ~ << >>
&两个都为1的才是1 12 & 13 -> 12
&它也可以进行逻辑判断,但是不短路与&&不一样
|没有短路的现象
^异或只有两个不同才是1
~按位取反 单个算
左移动
右移动
12<<2 *2
12>>2 /2

其它运算符
? :
``反引号 里面是操作系统的命令 exec() system() -ifconfig linux下的ip
@ 屏蔽临时错误信息 echo @$a; @gettype1();

表达式:有变量和运算符参与的事子就是表达式
优先级用括号解决

流程控制
1.顺序结构
2.分支结构 if else elseif switch
3.循环结构

巢状分支语法
<?php
if(isset($_POST["sub"])){
$bool = true;
$message = "有以上问题:<br/>";
if(empty($_POST["num1"])){
$bool = false;
$message .= "第一个数值不能为空";
}else{
if(empty($_POST["num2"])){
$bool = false;
$message .= "第二个数值不能为空";
}
}

if(!is_numeric($_POST["num1"])){
$bool = false;
$message .= "第一个数值不是数字不能计算";
}else{
if(!is_numeric($_POST["num1"])){
$bool = false;
$message .= "第二个数值不是数字不能计算";
}
}
$num1 = $_POST["num1"];
$num2 = $_POST["num2"];
$sum = "";
switch ($_POST[‘ysf‘]) {
case ‘+‘:
$sum = $num1 + $num2;
break;
case ‘-‘:
$sum = $num1 - $num2;
break;
case ‘*‘:
$sum = $num1 * $num2;
break;
case ‘/‘:
$sum = $num1 / $num2;
break;
case ‘%‘:
$sum = $num1 % $num2;
break;
}
}
?>

<html>
<head>
<title></title>
<meta charset="utf-8">
</head>
<body>
<form action="index.php" method="post">
<table border="0" width="400" align="center">
<caption><h1>简单计算器</h1></caption>
<tr>
<td>
<input type="text" size="5" name="num1" value="<?php echo $_POST["num1"] ?>">
</td>
<td>
<select name="ysf">
<option <?php if($_POST["ysf"]=="+") echo "selected"; ?> value="+">+</option>
<option <?php if($_POST["ysf"]=="-") echo "selected"; ?> value="-">-</option>
<option <?php if($_POST["ysf"]=="*") echo "selected"; ?> value="*">*</option>
<option <?php if($_POST["ysf"]=="/") echo "selected"; ?> value="/">/</option>
<option <?php if($_POST["ysf"]=="%") echo "selected"; ?> value="%">%</option>
</select>
</td>
<td><input type="text" size="5" name="num2" value="<?php echo $_POST["num2"] ?>"></td>
<td>
<input type="submit" name="sub" value="计算" />
</td>
</tr>
<tr>
<td colspan="4">
<?php
if($bool){
echo "计算结果:{$_POST[‘num1‘]}{$_POST[‘ysf‘]}{$_POST[‘num2‘]}=$sum";
}else{
echo $message;
}
?>
</td>
</tr>
</table>
</form>
</body>
</html>

循环结构
while break;
do{}while();
for
break
continue;
exit;-程序到这里就结束了 die();

goto
echo 11111;
goto nz;
echo 22222;
echo 3333;
nz:
echo 4444;
echo 55555;

时间: 2024-11-01 10:59:47

php兄弟连学习30-60的相关文章

30 天学习 30 种新技术系列 - SegmentFault【转】

body { font-family: Microsoft YaHei UI,"Microsoft YaHei", Georgia,Helvetica,Arial,sans-serif,宋体, PMingLiU,serif; font-size: 10.5pt; line-height: 1.5; } html, body { } h1 { font-size:1.5em; font-weight:bold; } h2 { font-size:1.4em; font-weight:bo

C++学习(30)

1 //设计一个数据元素为int类型的顺序堆栈类 2 //要求:入栈操作异常时,异常处理模块中输出当前要入栈的数据元素值,并设计一个测试程序 3 #include<iostream.h> 4 5 class PushOnFull{ 6 private: 7 int value; 8 public: 9 PushOnFull(int x){ 10 value=x; 11 } 12 int Value(){ 13 return value; 14 } 15 }; 16 17 class PopOn

C++学习30 重载++和--(自增自减运算符)

自增“++”和自减“--”都是一元运算符,它的前置形式和后置形式都可以被重载.请看下面的例子: #include <iostream> #include <iomanip> using namespace std; class stopwatch{ //秒表 private: int min; //分钟 int sec; //秒钟 public: stopwatch(): min(0), sec(0){ } void setzero(){ min = 0; sec = 0; } s

Java Web学习(30): Servlet学习(三)

Servlet获取JSP九大内置对象 Servlet与JSP九大内置对象对应关系: Servlet与表单 Servlet如何获取表单数据呢? 我们就不再一一讲解,具体的可以参考:http://www.runoob.com/servlet/servlet-form-data.html 实例:获取表单数据 实体类Users代码: package com.entity; import java.util.Date; /**  * 用户实体类  * @author Administrator  * @d

php兄弟连学习60-90

函数函数(function)是一段完成指定任务的已命名的代码块.函数可以遵照给他的一组值或参数完成特定的任务,并且可能返回一个值.php??两种函数:自定义函数+系统函数一个游戏:走路 打架 加分 逃跑 升级一个独立体,就封装成函数,过程话开发函数.函数优势: 控制程序设计复杂度 提高软件的可靠性 提高软件的开发效率 提高软件的可维护性 提高程序的重复性 2.自定义函数函数是一个结构体,声明一个最简单的函数.function table(){ echo '<table border="1&

php兄弟连学习1-30

B/S结构软件介绍 嵌入式软件(非电脑程序) 冰箱 洗衣机 手机 软硬件结合 web1.0静态页面web2.0网友互动 人机交换 浏览者也是生产者web3.0移动互联网 网站与网站交互 移动互联 电子商务云计算 云存储物联网 所有一切东西上网 桌子椅子 水表 等等一切都能上网 任何地点都可以监控 web标准 w3c world wide web consortium 1994创建的html css xml xhtml dom等由浏览器进行解析的 脚本语言解释型的 不用编译 url1.协议 htt

学习30

7月2日,新闻,小儿推拿培训. ,道,正因小儿推拿这样,直接在门口拦济南小儿辆出租车,哪会有这样培训举动.本来以她培训演奏水平,小刘推拿个勤劳能干培训女孩啊. ,像她这种懒得要命,而手上拿着小儿把黑色培训长弓. ,小儿脸神秘培训笑容, , ,自己吃粗饼充饥.苏山觉得这个名字很霸道.花钱培训多小钱方多着呢,学习过都推拿请我给他们代言广告,你们学习要大脑济南,旋律和歌词都太励志济南, ,好培训. 苏木看着男生培训神色,以及唠叨. 破木屋里,陈宇最担心培训还推拿,苏山感觉特别培训累,但推拿苏山知道,仿

【OC学习-30】NSUserDefaults把数据存储在本地的一种方式

我们先创建一个NSUserDefaults对象(其实类似于一个字典),然后把数据写入到这个对象中,然后把这个对象里面的数据保存在本地.然后我们把这些代码删除掉,重新创建一个对象来调用在本地的数据,看是否能调出,如果能,说明之前已经成功把数据本地化了. (1)我们创建一个空的application. (2)把AppDelegate.m下面的那些函数都删除掉.在第一个函数里面补充如下代码,然后点击运行. #import "AppDelegate.h" @implementation App

Java Web学习(30): 使用JSP+Servlet+JavaBean实现用户登录

实现用户登录 用户名admin,密码admin,登录成功使用服务器内部跳转到login_success2.jsp页面,并且提示登录成功的用 户名,如果登录失败则跳转到login_failure2.jsp页面. 之前我们使用JSP实现过,也JSP+JavaBean实现过,这一次我们更加细化,使用JSP+Servlet+JavaBean实现用 户登录,好多的源码也是在前面写过. 我们先来看整体的目录结构: 再来看看源代码: 实体类Users.java源代码: package com.entity;