函数调用问题、浮点、运算优先级和短路【这个是关键】、按位运算的用处

1.对函数的调用中返回值的意义
function f1(){
echo 1234;
//return 123;//这里对返回值进行处理
}
var_dump(f1());//这里对整个返回值有一个认识【function的调用而没有返回值并不会影响执行,只对调用结果有影响】

2.浮点数的表示【双精度:需要使用八个字节来表示】
【不使用浮点数进行比较,就是因为浮点数转化二进制时会出现问题,不能单纯拿来做比较】

3.echo "hello,$arr[‘name‘]";//这里的数组元素并不能被正确解析,需要使用{}包裹来保证解析正确
但是针对对象中属性情况可以直接在双引号内解析
双引号能够解析的东西:变量、对象属性,但是无法解析数组元素情形
但是在双引号中无法【智能地】确定界限问题【使用{}作为分割的方式】
连接符比{}解析速度快

单字节字符:英文和数字【可以直接作为字符串数组按位置直接进行取】
字符集【对编码进行指定的组合从而形成一个稳定的字符图形与编码进行映射utf8】

4.如果常量存在,那么会输出,如果常量不存在,常量名会转化为字符串
【对性能有影响】

5.运算符中的短路和优先级【逻辑与或】
短路运算中有例外
var_dump(true || true&&false);//这种情况并不会出现短路运算,但是优先级需要进行考虑
var_dump(true || a=1);//这种情形会出现短路运算

6.前加加和后加加的区别的原因:
返回值不同。
$a=$b++;//这个过程是这样的

而前加加的效果是返回递增后的$b的值

7.在请求资源的应用中才会大范围使用@作为错误抑制符

8.按位运算
与进制的问题转化
提高速度,并且能够使标示的位上的数转化为二进制数,然后按位运算,得到指定位置上的状态码,获取最后结果

通过按位数来标记多选框的选项,可以减少内容存储。

时间: 2025-01-02 18:52:05

函数调用问题、浮点、运算优先级和短路【这个是关键】、按位运算的用处的相关文章

It's not a Bug, It's a Feature! (poj 1482 最短路SPFA+隐式图+位运算)

Language: Default It's not a Bug, It's a Feature! Time Limit: 5000MS   Memory Limit: 30000K Total Submissions: 1353   Accepted: 516 Description It is a curious fact that consumers buying a new software product generally do not expect the software to

单源最短路(手写堆+位运算优化+卡常+O2 = Luogu排名最后一页...)

如题 1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include<queue> 5 #define rep(i,a,n) for(register int i = a;i <= n;++i) 6 using namespace std; 7 8 void read(int& a){ 9 a = 0;char c = getchar(); 10 while(c &l

位运算+引用+const+new/delete+内联函数、函数重载、函数缺省参数

一.位运算 应用: 1.判断某一位是否为1 2.只改变其中某一位,而保持其它位都不变 位运算操作: 1.& 按位与(双目): 将某变量中的某些位清0(与0位与)且同时保留其它位不变(与1位与):获取某变量中某一位(与其位与后判断是否为该数) 2.|  按位或(双目): 将某变量中的某些位置1(与1位或)且保留其它位不变 3.^  按位异或(双目): 将某变量中的某些位取反(与1异或)且保留其它位不变 异或运算特点: 如果 a^b=c,那么就有 c^b = a以及c^a=b.(穷举法可证---用于

位运算总结&amp;拾遗

JavaScript 位运算总结&拾遗 最近补充了一些位运算的知识,深感位运算的博大精深,此文作为这个系列的总结篇,在此回顾下所学的位运算知识和应用,同时也补充下前文中没有提到的一些位运算知识. 把一个数变为大于等于该数的最小的2的幂 一个数为2的幂,那么该数的二进制码只有最高位是1. 根据这个性质,我们来举个栗子,比如有数字10,转为二进制码后为: 1 0 1 0 我们只需把 0 bit的位置全部用1填充,然后再把该二进制码加1就ok了.而x | (x + 1)正好可以把最右边的0置为1,可是

javascript中的类型转换(进制转换|位运算)

1:parseInt(string) : 这个函数的功能是从string的开头开始解析,返回一个整数 parseInt("123hua"); //输出 123 parseInt("123"); //输出 123 parseInt("12.3"); //输出 12 parseInt("hua"); //输出 Nan 2:另外parseInt()方法还有其他模式,就是可以把二进制.八进制.十六进制或其他任何进制的字符串转换成整数

【模拟+递归+位运算】POJ1753-Flip Game

由于数据规模不大,利用爆搜即可.第一次用位运算写的,但是转念一想应该用递归更加快,因为位运算没有剪枝啊(qДq ) [思路] 位运算:时间效率较低(172MS),有些辜负了位运算的初衷.首先将二维数组倒序看作一个二进制数num.我们假设1代表翻转,0代表不翻转,可以发现以下规律:0 xor 1=1,1 xor 1=0;0 xor 0=0,1 xor 0=1,恰巧满足异或运算.我们假设另一个二进制数i∈[0,2^16),通过异或运算就可以模拟出所有清形. 用check和i进行&操作可以求出以哪些位

嵌入式C语言之位运算 &amp;..|.~.&gt;&gt;

在嵌入式编程中,掌握位运算在操作寄存器的时候很方便,由于之前在上位运算的时候没上,但是由于位运算的难度不是很大,自己编写程序,顺便做些总结. &   |   - 这三个位运算符号不难理解,但是要区别与逻辑运算符号&&  和|| 1.需要总结的是:假如要使寄存器的值为1的话,一般用 这个寄存器的值来| 上1 比如要将i的值变为1则可以使用    i   |=  1;    意思就是将i的值与上1的值再给i.同理要让一个变量的值变成0的话,将使用 &上0     例如   i&

算法学习 - 递归与非递归,位运算与乘除法速度比较

递归调用非递归调用 运行时间比较 结论 位运算与乘除法 结论 递归调用/非递归调用 我们都知道,很多算法,都是用递归实现的.当然它们同时也是可以用非递归来实现. 一般我们在对二叉树进行遍历的时候,还有求斐波那契数的时候,递归是非常简单的.代码容易懂,好实现. 但是递归的时候,有一个问题,就是需要压栈.为什么要压栈呢?因为当我在函数内部调用自身的时候,要中断当前的操作继续跳转到下一次的实现,而当前运行的状态要保存起来.所以就把当前状态进行压栈,等到运行到递归条件结束的时候,再弹栈. 所以递归就是需

对硬件编程中常用的位运算概述

位运算就是将对应的数值转化为二进制然后按位进行相应的运算.(好吧,这个概念是我自己的理解...) 下面的叙述指示结合个人的经历与理解,肯定是不够全面.甚至不够准确的,只是希望抛砖引玉,同时也作为自己对位运算这一块的一个简单总结. 位运算主要包括:位与(&).位或(|).位取反(~).位异或(^).左移(<<).右移(>>)六种下面分别介绍. 1.  位与(&). 这个和逻辑运算符 与(&&) 是不是长得像?他们的功能也异曲同工!运算的两位同时为1时结