小编Jas*_*son的帖子

PHP如何知道它使用什么类型的变量(或者它)?

我没有做太多的编程在许多语言,但我知道在C(++),你必须声明一个变量类型(int,char,等).

在PHP中,您当然不必这样做.你可以$str = "something";稍后再开始,$str = array("something" => "smells");她很高兴.

PHP如何编译?它如何知道变量类型将是什么?它甚至关心吗?

这个问题与我正在做的任何事情无关.我只是好奇.

编辑.

我需要澄清一下这个问题.

在C中,如果我说:

int y;
Run Code Online (Sandbox Code Playgroud)

它保留x个字节数y.如果y溢出,坏消息.

PHP没有这种性质(至少我认为它没有).

$i = "a number";
$i = 8;
$i = 1000000000000000000;
Run Code Online (Sandbox Code Playgroud)

它与语言完全相同.它怎么知道保留多少?或者我将苹果与橘子比较?如果我说错了,你有什么好主题我能读懂以便更好地理解吗?

php variables types vm-implementation

9
推荐指数
1
解决办法
706
查看次数

是否有可能强制浮点数的指数或有效数与另一个浮点数(Python)相匹配?

这是一个有趣的问题,我试图在前几天工作.是否有可能强制一个的有效数或指数与Python中的float另一个相同float

问题出现了,因为我试图重新缩放某些数据,以便min和max匹配另一个数据集.但是,我重新调整后的数据略有偏差(大约小数点后6位),这足以引起问题.

提出一个想法,我有f1f2(type(f1) == type(f2) == numpy.ndarray).我想要np.max(f1) == np.max(f2) and np.min(f1) == np.min(f2).为此,我做到了:

import numpy as np

f2 = (f2-np.min(f2))/(np.max(f2)-np.min(f2)) # f2 is now between 0.0 and 1.0
f2 = f2*(np.max(f1)-np.min(f1)) + np.min(f1)  # f2 is now between min(f1) and max(f1)
Run Code Online (Sandbox Code Playgroud)

结果(仅作为示例)将是:

np.max(f1) # 5.0230593
np.max(f2) # 5.0230602 but I need 5.0230593 
Run Code Online (Sandbox Code Playgroud)

我最初的想法是,强制指数float将是正确的解决方案.我找不到多少,所以我为我的需要做了一个解决方法:

exp = 0
mm = np.max(f1)

# find where the decimal …
Run Code Online (Sandbox Code Playgroud)

python floating-point numpy floating-accuracy

8
推荐指数
2
解决办法
646
查看次数

在matplotlib中向colorbar添加标记或线条

我有以下几行代码来生成heatmap(pcolormesh).

import matplotlib.pyplot as plt
import numpy as np

vals = np.linspace(-np.pi/2, np.pi/2, 101)
x, y = np.meshgrid(vals, vals)

z = np.abs(np.sinc(x) * np.sinc(y))

xDeg = np.rad2deg(x)
yDeg = np.rad2deg(y)

plt.pcolormesh(xDeg, yDeg, z, cmap = 'jet', vmin = 0, vmax = 1)
plt.colorbar()

plt.axis([-90, 90, -90, 90])
ticks = np.linspace(-90, 90, 13)
plt.xticks(ticks)
plt.yticks(ticks)

print np.mean(z)                # 0.186225110029
print np.sqrt(np.mean(z**2))    # 0.295710882276
plt.show()
Run Code Online (Sandbox Code Playgroud)

它产生这个图像: pcolormesh结果

我想放置:

  1. 平均颜色条上的标记(0.186).
  2. 色条上的水平线,RMS值(0.295).

有什么输入?

python matplotlib python-2.7

6
推荐指数
1
解决办法
1733
查看次数

安全Cookies?

我慢慢地移动我的(未发行)CMS $_SESSION$_COOKIE.互联网上的内容似乎更偏向于$_SESSION(我假设因为易用性).我正在寻找有关保存cookie的安全提示.目前,我正在以下列格式存储(有点类似的WordPress)cookie:

'logged_in_%hash_key%' => "username | %hash_password%"

每次登录后,我%hash_key%md5(MYSALT."something".UNIQUE_KEY)并且UNIQUE_KEY被重新生成(如果用户选择)以锁定可能存储cookie的其他计算机.它是一个随机的6个字符的字符串.

%hash_password% 类似地使用Salt和随机密钥(散列)生成.

我必须知道$_COOKIE(显然)的关键,然后我将字符串拆分为"|" 并查看用户名和密码.如果某些东西不匹配,我会破坏cookie.

我的问题是:你有关于以安全格式存储cookie的任何其他技巧,还是这样好

我还为每个请求的操作生成一个nonce.例如,我为'删除'创建了一个nonce,我希望在我的中删除该nonce $_REQUEST.如果我的回复不正确,我不会将用户注销,但我什么都不做.

正如梅加尔所指出的那样,我知道COOKIES本质上是不安全的,我仍然尽力让它变得安全.

php cookies

2
推荐指数
1
解决办法
943
查看次数

为什么评论中的'@'?

有时我会在某些行前面看到带有'@'的php评论.喜欢@Author.这有什么特别的原因吗?我似乎无法找到任何关于此的内容.我假设有一个高度使用的解析器,寻找'@'.

php

2
推荐指数
1
解决办法
177
查看次数

在if语句中设置变量的问题

这是样本:

if(($test = array('key'=>true)) && $test['key']){
    // works
}
if($test = array('key'=>true) && $test['key']){
    // does not work
}
Run Code Online (Sandbox Code Playgroud)

为什么需要括号?我的理解是它计算第一个条件然后第二个条件,无论如何.

做这样的作业是否"安全"?

php

2
推荐指数
1
解决办法
104
查看次数