
正文
php数据小结 php数据结构有哪些
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
php 的位运算总结
php的位运算很少会用到,但是用处很大,
在有些算法中会用到,在权限管理中也会经常用到,
对于理解计算机的世界也会有一定的帮助,所以得把这些重要但不常用的东西总结一下记录一下。
提到位运算,避不开的是二进制。
因为位运算是直接在内存做操作和运算,相较与直接拿两个变量做运算符肯定是更快的。
很多地方把二进制这玩意说得很晦涩,现在来以最简单的方式来总结一下,当然只算 int 范围内的数算了,超过了这个范畴程序员还不如拿这时间去学点别的。
说完以上总结,再来解释下什么是二进制,网上大把,
但只要记住,int范围内的数也就是我们大部分需要用到的数,都可以用二进制来表示。
我们生活中用到的计数方式为十进制,由个数位满10进1,
然后再开始重新计算,等十位满9再加一时,百位加一,十位归零。
二进制则只有两个数字来表示就是0和1,满2进1。
由32个位组成,虽然只有32个位但已满足了我们正常的需求了
比如说1转换为2进制原码,由于1是正数所以符号位为0,
原码反码补码都一个样。
1的原码:00000000 00000000 00000000 00000001
因手懒,太多0太丑用+拼接,'0* 8'代表8个0
2的原码:0* 8 0* 8 0* 8 0* 6 + 1 0,既然是二进制,
满2就得进1,最低位归0,向前加一。
再来解释下负数的原码反码和补码,就开始讲php的位运算了。
二进制复习完毕。下面开始讲讲php的位运算。
php一共有六种位运算,一种一种来讲。
可以这么理解,两个数的补码放在一起比较每个位(一共32个位),
可以得出另外一个数,这个数字的组成由比较的两位数字生成,
如果两个数的每个位数上的数字都等于1的话,
那得到的那个数的补码的同位为1,否则为0。
听着绕口,其实很简单,觉得还是比官网上的更容易让新手看懂
下面举例子:
首先来求-1和7的补码。7的原码就是补码。
两个补码都有了下面开始运算:
按照上面的说法, 每个位都有一样则 $a 的同等位则为1,刚好-1的补码和7的补码前面都不一样,就最后三位一样,所以刚好求得的 $a 的补码的最后三位是1而其他的都是0 ,刚好这个补码为正数,正好就是7。
其实就是和按位与相反,只要有1个为1,那就为1,如果都不为1,那就为0。
$a = -1|7 ;得出来的 $a 补码为32个1,但此时不能说 $a 就是-1,因为这只是补码,要转成原码再转成十进制数,补码-1,然后再翻转,再转出来,得到的其实也还是-1。
就是将这个数的补码全部翻转过来,包括符号位,0变1,1变0
取反的结果一定是整数变负数负数变正数,取正数的反时,
记得一定要从补码一步步转到原码再转成十进制数才是答案。
两个数的补码比较,同等位上的两数比较
,不一样时,则答案的补码的同位则为1,否则为0。
往左移符号位被挤走右边0补充,往右移动,符号位不动,
高位以符号位补充。二进制世界里往左移动其实是相当于乘以了2,
右移相当于除以了2。
不吹牛逼的说,这应该是互联网上最容易理解的php位运算的解释和二进制的解释了。
原文链接: php的位运算总结-PHP
相关问答
Q1: PHP取整数函数常用的四种方法小结
ceil
—
进一法取整
说明
float
ceil
(
float
value
)
返回不小于
value
的下一个整数php数据小结,value
如果有小数部分则进一位。ceil()
返回的类型仍然是
floatphp数据小结,因为
float
值的范围通常比
integer
要大。
例子
1.
ceil()
例子
复制代码
代码如下:
?php
echo
ceil(4.3);
//
5
echo
ceil(9.999);
//
10
?
floor
—
舍去法取整
说明
float
floor
(
float
value
)
返回不大于
value
的下一个整数php数据小结,将
value
的小数部分舍去取整。floor()
返回的类型仍然是
float,因为
float
值的范围通常比
integer
要大。
例子
1.
floor()
例子
复制代码
代码如下:
?php
echo
floor(4.3);
//
4
echo
floor(9.999);
//
9
?
round
—
对浮点数进行四舍五入
说明
float
round
(
float
val
[,
int
precision]
)
返回将
val
根据指定精度
precision(十进制小数点后数字的数目)进行四舍五入的结果。precision
也可以是负数或零(默认值)。
例子
1.
round()
例子
复制代码
代码如下:
?php
echo
round(3.4);
//
3
echo
round(3.5);
//
4
echo
round(3.6);
//
4
echo
round(3.6,
0);
//
4
echo
round(1.95583,
2);
//
1.96
echo
round(1241757,
-3);
//
1242000
echo
round(5.045,
2);
//
5.05
echo
round(5.055,
2);
//
5.06
?
intval—对变数转成整数型态
例子intval()
复制代码
代码如下:
?php
echo
intval(4.3);
//4
echo
intval(4.6);
//
4
?
Q2: php程序员工作总结范文
1、个人工作总结,xx年做了哪些工作,取得了哪些成绩。xx年上半年,对旧版网站进行技术维护和功能更新,修复了网站存在的漏洞,使网站功能更全面,系统更稳定,操作界面更友好。增加了网站手机短信平台信息发送功能,使网站可以通过手机短信对用户做出及时反馈;实现了支付宝和财付通的网银在线支付系统,使用户可以在支付;开发拼友团项目,使用户可以通过本站进行拼团消费;对商家系统做了功能上的补充,使商家操作更方便的操作自己的店铺。下半年,对网站全部线上系统进行重新架构,使用了discuz,brand,iweibo三个系统,并在三个系统上进行了改进型开发;对网站整体风格和模板进行修改,使其与网站的风格相统一,将原有的信息转移至新系统,并进行数据的格式化处理,使数据与新系统兼容。与腾讯微博,新浪微博合作,实现qq账号和新浪微博账号在网站的同步登陆,同时将本站用户的动态信息同步到qq空间和新浪微博。对新系统做了seo优化,使网站对搜索引擎更友好,有利于提高网站的收录量和权重,可以给网站带来更多的访问量。开发了专题活动,提高网站的知名度和品牌效应。2、主要经验和收获。经过这一年的有序工作,我感觉自己工作技能上了一个新台阶,做每项工作都有了明确的计划和步骤,方向和目标也更明确。在一年的工作中,也更加深深地体会到了团队合作的重要性。3、工作中存在的不足和问题。在明年的工作中,我会继续努力,多向领导汇报自己在工作中的思想和感受,及时纠正和弥补工作中的不足和缺陷。在团队合作中,同事间的沟通方式及方法也有待进一步改进,希望大家寻求更积极有效的沟通方式,更好的解决工作中出现的问题和不足。4、2012年的简要计划。在新的一年中,要主动学习相关专业领域的知识,提高自己的专业技能,以增强自己对突发问题的处理能力。主动与领导交流,了解公司的发展方向和目标,提高自己与企业的融合度。5、其他在网站未来的发展中,希望网站加强自主性研发,使彭城招聘网功能及程序处于可控状态中,这样当网站出现问题时,可以更及时准确的发现并解决问题。在功能方面,希望能开发出更更多更实用的功能。这样可以增加用户粘度,更好的吸引和留住用户。
Q3: PHP中header用法小结
本文实例总结了PHP中header用法。分享给大家供大家参考,具体如下:
PHP
中
header()函数的作用是给客户端发送头信息。
什么是头信息?
这里只作简单解释,详细的自己看http协议。
在
HTTP协议中,服务器端的回答(response)内容包括两部分:头信息(header)
和
体内容,这里的头信息不是HTML中的head/head部分,同样,体内容也不是BODY
/BODY。头信息是用户看不见的,里面包含了很多项,包括:服务器信息、日期、内容的长度等。而体内容就是整个HTML,也就是你所能看见的全
部东西。
头信息有什么用呢?
头信息的作用很多,最主要的有下面几个:
1、跳转:
Header("Refresh:2;
URL=");//2秒后跳转
若等待时间为0,则与header("location:")等效。
Header("Location:");//直接跳转
2、指定网页的内容:
同样一个XML文件,如果头信息中指定:Content-type:
application/xml
的话,浏览器会将其按照XML文件格式解析。但是,如果头信息中是:Content-type:
text/xml
的话,浏览器就会将其看作存文本解析。(浏览器不是按照扩展名解析文件的)
3、附件下载:
$filename
=
"tupian.jpg";
//文件路径
可以绝对路径也可以相对路径
header('Content-type:
application/x-jpg');
//文件的类型
header('Content-Disposition:
attachment;
filename="保存时的文件名.jpg"');
//下载显示的名字
readfile("$filename");
exit();
查看:
$link
=
"tupian.jpg";
//文件路径
可以绝对路径也可以相对路径
//$link
=
"新建文本文档.xml";
//文件路径
可以绝对路径也可以相对路径
if
(isset($link))
{
Header("HTTP/1.1
303
See
Other");
Header("Location:
$link");
exit;
}
更多关于PHP相关内容感兴趣的读者可查看本站专题:《php文件操作总结》、《PHP运算与运算符用法总结》、《PHP网络编程技巧总结》、《PHP基本语法入门教程》、《php操作office文档技巧总结(包括word,excel,access,ppt)》、《php日期与时间用法总结》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家PHP程序设计有所帮助。
Q4: php知识框架总结
php知识框架总结
篇一:php基础知识点总结
PHP语言基础简单整理
1.开始结束标记的格式只有在没有判断语句时才能使用。
对表单传递的变量进行编码和解码:PHP中实现对查询字符串进行URL编码可以通过函数urlencode()实现,该函数的使用格式如下:string urlencode(string str);对URL编码后的查询字符串进行解码,可以通过urldecode()函数实现,该函数的使用格式如下:string urldecode(string str);
15.PHP连接数据库:
步骤: 一、建立连接------mssql_connect(server,uid,pwd);
二、指定database-------mssql_select_db(databasename);
三、执行sql------mssql_query($sql,$link);
四、处理记录集-------资源类型数据,格式:bof---数据---eof
五、以特定格式读取数据-----mssql_fetch_array()....
六、释放相关资源、关闭连接------mssql_free_result($result);mssql_close();
16.数组:php的数组由键值和value值组成
定义:$array = array("键值"="value","键值"="value","键值"="value");如果不给键值赋值,默认从0开始的int值
相关函数:(1)in_array("值",数组名); 返回bool型-----查看数组中是否存在某value值
(2)array_key_exists("key值",数组名); 返回bool型-----查看数组中是否存在某键值
(3)array_keys(数组名);---将数组键值返回出来形成一个新数组,此键值作为新数组的value值
(4)array_values(数组名);---将数组value值返回出来形成一个新数组,此值作为新数组的value值
(5)key(数组名);----返回当前指针指向的元素key值
(6)current(数组名);----返回当前指针指向的元素value值
(7)next(数组名);----挪动当前数组指针到下一步
(8)reset(数组名);----恢复数组指针,指向第0个元素
(9)end(数组名);----将指针挪向最后一个元素
(10)prev(数组名);----将指针向前挪动一位
(11)foreach(数组名 as $key=$value)
{
$key是键值,$value是value值,实现数组遍历
}
(12)each(数组名);----将当前数组元素依次取出(自动挪动指针)并放到一个新的数组中
(13)array_shift(数组名);----返回数组中第一个元素值
(14)array_pop(数组名);----返回数组最后一个元素值
(15)array_push(数组名,value);----向数组中追加元素
(16)array_unshift(数组名,value);----在数组最前面添加元素
(17)array_pad(数组名,数组长度,value);----向数组中追加多个元素,对数组副本操作,不改变原数组,返回一个新数组
(18)count();----返回个数
(19)array_unique(数组名);----去掉数组中重复部分,操作数组副本,不改变原数组,返回新数组
(20)sort(数组名);----从小到大升序排列数组value值,一般针对int型value值,返回bool型,成功返回true
(21)rsort(数组名);----从大到小,逆序排列数组value值
(22)array_combine(数组1,数组2);----将数组1的value值作为key,数组2的value值作为value值,形成一个新数组
(23)array_merge(数组1,数组2,数组3...);----合并多个数组,将多个数组value值依次合并,合为一个数组
(24)array_slice(数组名,int,int);----从目标数组截取元素,形成一个新数组。开始位置为第二个参数,结束位置为第三个参数。若第三个参数不写,则默认是截取到最后。
(25)array_splice();----用法同array_slice();但是其截取部分从原数组中删除
(26)explode("字符依据",目标字符串);----将字符串按照一定的依据拆分成数组
(27)implode("字符依据",目标数组);----将数组元素按照依据组合成一个字符串
(28)range(mixed low,mixed high[number step]);----生成数组,例:range(1,100,8);---即从1到100,每8位取一个数,组成一个数组
(29)shuffle(数组名);----用于将数组进行随机排序
(30)array_sum(数组名);----对数值型数组元素值进行求和
(31)array_chunk(数组名,int);----分割目标数组,返回一个新数组,其中数组的每个元素都是一个一维数组,int参数为分割成的一维数组的长度
17.Cookie和会话控制:
Cookie是在HTTP协议下,服务器或脚本可以维护客户工作站上信息的一种方式。Cookie是由Web服务器保存在客户机上的小文本文件,它可以包含有关用户的信息。无论何时用户链接到服务器,Web站点都可以访问Cookie信息。
存在server端的是session,存在client端的是cookie,它们用来存储全局变量。 设定Cookie值:setcookie("名","值");
通过Cookie数组取值:$_cookie["名"];
设置生成期:setcookie("名","值",time()+1800);生成期为当前时间加1800秒之后。
删除cookie: setcookie("名","",time()-3600);中间值设置为空,并将当前时间减去3600秒。 Cookie数组:setcookie("名[key]","值"); 使用foreach读取。
在PHP中可以通过$_COOKIE预定义变量访问Cookie的值。如果设置php数据小结了php.ini中的register_long_arrays,那么就能够应用$_COOKIE和$HTTP_COOKIE_VARSphp数据小结;如果在php.ini中还设置php数据小结了register_globals,那么就可以在PHP中作为全局变量使用各个Cookie值。但是,更改php.ini中的两个文件设置,容易对PHP的安全构成威胁,不推荐使用该方法,建议使用更新的$_COOKIE。
会话ID的传送
会话ID的传送有两种方式,一种是Cookie方式,另一种是URL方式。
Cookie传送方式:
这是最简单的会话方式,但是有些客户可能限制使用Cookie,如果客户限制使用Cookie的条件下,仍要继续工作,那就要通过其php数据小结他方式来实现了。
URL传送方式:
在该方式中,URL本身用来传送会话,会话标志被简单地附加到URL的尾部,或者作为窗体中的一个变量来传递。例:
Q5: 详解PHP中cookie和session的区别及cookie和session用法小结
一、区别:
1、cookie数据存放在客户的浏览器上,session数据放在服务器上。
2、cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗
考虑到安全应当使用session。
3、session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能
考虑到减轻服务器性能方面,应当使用COOKIE。
4、单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie。
5、所以个人建议:
将登陆信息等重要信息存放为SESSION
其他信息如果需要保留,可以放在COOKIE中
二、用法小结:
1、cookie:
1)如何创建 cookie?
setcookie() 函数用于设置 cookie。setcookie(name, value, expire, path, domain); //setcookie("user", "Alex Porter", time()+3600);
注释:setcookie() 函数必须位于 html 标签之前。
2)如何取回 Cookie 的值?
$_COOKIE 变量用于取回 cookie 的值。
使用 isset() 函数来确认是否已设置了 cookie:
3)如何删除 cookie?
当删除 cookie 时,您应当使过期日期变更为过去的时间点。//setcookie("user", "", time()-3600);
2、session:
1)如何创建 session?
session_start() 函数启动会话。
2)存储 Session 变量
$_SESSION 变量赋值
isset() 函数检测是否已设置
3)终结 Session
如果您希望删除某些 session 数据,可以使用 unset() 或 session_destroy() 函数。注释:session_destroy() 将重置 session,您将失去所有已存储的 session 数据。
关于php数据小结和php数据结构有哪些的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。







