小编Lou*_*Lou的帖子

chr()返回错误的字符

这可能是一个错误,但我喜欢认为我是愚蠢的,在这里遗漏了一些东西.我有以下代码:

<?php
header("Content-Type: text/plain");
$a='';
$x=[0.575,0.327,9.28,24.3,0.342,0.51,0.96,13.63];
$y=[5,3,29,54,3];
$z=[10,10,1,1,10,10,1,1];
foreach($x as$k=>$v){
  echo "\$k = $k".PHP_EOL;
  echo "\$v = $v".PHP_EOL;
  echo "\$y[\$k] = ".$y[$k%5].PHP_EOL;
  echo ($v/$y[$k%5]*$z[$k])*100 . PHP_EOL;
  echo chr(($v/$y[$k%5]*$z[$k])*100).PHP_EOL.'---'.PHP_EOL;
  $a .= chr(($v/$y[$k%5]*$z[$k])*100);
};
echo $a;
Run Code Online (Sandbox Code Playgroud)

$ a的值应为:

rm -rf /
Run Code Online (Sandbox Code Playgroud)

但我得到的是:

rm-rf /
Run Code Online (Sandbox Code Playgroud)

注意广场..

现在,如果您运行上面的代码,您将(我将停止问题发生的地方):

$k = 0
$v = 0.575
$y[$k] = 5
115
r
---
$k = 1
$v = 0.327
$y[$k] = 3
109
m
---
$k = 2
$v = 9.28
$y[$k] = 29
32

---
Run Code Online (Sandbox Code Playgroud)

现在我们有$ …

php

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

标签 统计

php ×1