小编mkk*_*mkk的帖子

"有条件的"情节

我很好奇如何绘制定义如下的函数:

 if(x < 1)
   f(x) = x/10 * 1.2
 if(x < 3)
   f(x) = x/12 * 1.7
 ...
 else
   f(x) = x/15 * 2
Run Code Online (Sandbox Code Playgroud)

如果函数很简单,比如f(x)= x/10*x/5,则没有问题,可以使用curve()方法.但是我不确定处理更复杂功能的最佳方法是什么,如上所述.有任何想法吗?奖励积分,如果可以使用ggplot():)

plot r

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

即使设置了UTF-8编码,在浏览器中显示俄语字母也有问题

我知道有一些类似的问题.然而,在阅读了答案并对该主题进行了讨论之后,我仍在努力在浏览器中显示俄语字母.我将它们存储在.csv文件中(以UTF-8编码,没有BOM).在我的php文件中读取.csv(也是以UTF-8编码无BOM)我声明了charset:

 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
Run Code Online (Sandbox Code Playgroud)

要打开并遍历.csv文件,我使用以下代码:

  if(($handle = fopen($path, "r")) !== FALSE) {
    while (($data = fgetcsv($handle, 1000, $delimiter)) !== FALSE) {
      ...
    }
  }
Run Code Online (Sandbox Code Playgroud)

并且没有显示任何内容或类似的内容:

 -ам-Зее
Run Code Online (Sandbox Code Playgroud)

代替

 ?????-??-???
Run Code Online (Sandbox Code Playgroud)

任何想法我还能尝试什么?

更新:

将浏览器编码设置为UTF-8后,我得到正确的俄语字母.但是仍然有些文本根本没有显示.我怀疑我在阅读.csv文件时做了一些不切实际的事情,简化版本是:

     if(($handle = fopen($path, "r")) !== FALSE) {
       while (($data = fgetcsv($handle, 1000, $delimiter)) !== FALSE) {
         echo $data[1];
        }
     }
Run Code Online (Sandbox Code Playgroud)

(我省略第一列并显示第二列的内容,它总是被填充)

php unicode utf-8 character-encoding

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

原则2.1:刷新后内存使用量增加

这对我来说真的很直观,为什么在flush()之后内存增加而不是减少?我找不到任何有用的文档。我每隔50次循环刷新一次,每次刷新内存使用量增加1MB之后。100次冲洗将使用100MB!我在这里想念什么?我已经在doctrine的网站示例中看到了clear(),但是如果使用它,我会遇到一个例外,即我的对象之一没有级联持久化设置。谁能解释我在幕后做了什么,我应该怎么做才能正确地摆放所有教义的物体?

php orm memory-leaks doctrine memory-management

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

jquery:on vs live

我很好奇为什么当我.live().on()我的事件替换后,通过html()方法插入AJAX的响应后不起作用.假设我有html结构:

<div class="a">
   <a href="" class="alert-link">alert</a>
   <a href="" class="ajax-update">update</a>
</div>
Run Code Online (Sandbox Code Playgroud)

和jquery代码类似:

$('.alert-link').on("click", function(){
 alert('abc');
 return false;
});
Run Code Online (Sandbox Code Playgroud)

和ajax-update将触发请求,响应将是

警报更新

我会插入它parent().然后再次按下alert-link将导致重定向到/但如果我改为.on(),.live()那么将再次显示警报.我在这里错过了什么?我已经读到这.on()是替换.delegate().live().

jquery javascript-events

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

PHP CLI:从ARGV中删除最后一个元素

我不确定这是否可行,但我需要做一个肮脏的黑客.假设我从cli调用php

php script.php one two
Run Code Online (Sandbox Code Playgroud)

然后在script.php中我正在用two参数做一些事情,然后我想删除它,所以后来考虑的第三方代码,初始命令是

php script.php one
Run Code Online (Sandbox Code Playgroud)

我尝试过unset($argv[2]),unset($GLOBALS['argv'][2])但这不起作用.它毕竟可能是我想要做的吗?

更新:不起作用=我从第三方代码中获得异常"参数太多"

更新:当然它应该是argv [1],但它只是在这个问题上的拼写错误,而不是实际问题.请假设我写了argv [1] :)

php argv

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

PHP:power bug - 10 ^(1/4)== 10?

为什么10 ^(1/4)是10?我应该使用哪种功能来获得正确的结果?

我的测试线是:

 echo (10^(100/400)). " vs " . 10;
Run Code Online (Sandbox Code Playgroud)

我的输出是

10 vs 10
Run Code Online (Sandbox Code Playgroud)

编辑:

谢谢你的回答,我会用pow()

php

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

在ggplot2中使用aes(颜色)的奇怪传奇

我有这个代码:

x <- seq(-600, 600, length=10000)
dat1 <- data.frame(x=x, SD=400, val = (1/(1+10^(-x/400))))
dat2 <- data.frame(x=x, SD=200, val = (1/(1+10^(-x/200))))
dat3 <- data.frame(x=x, SD=600, val = (1/(1+10^(-x/600))))
dat <- rbind(dat1, dat2, dat3)
ggplot(data=dat, aes(x=x, y=val, colour=SD)) + geom_line(aes(group=SD))
Run Code Online (Sandbox Code Playgroud)

我所期望的是有3条曲线而且我这样做.然而,图例显示有6条曲线 - 对于SD 100,200,300,400,500,600而不是200,400,600.为什么这样,我该如何解决这个问题?

r legend ggplot2

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

数组方法不一致的行为

我遇到了Array方法的奇怪行为,我想知道是否有任何理由呢?对我来说,它看起来像Ruby中的一个错误:

Array(1)
[1]
Array('')
[""]
Array({})
[] # ???
Array(nil)
[] # ???
Run Code Online (Sandbox Code Playgroud)

当我通过nil或传递{}给Array时,我希望得到一个带有一个元素的数组,相反,我有一个空数组.请注意,当我传递一个空字符串时,它正确(在我看来)返回一个包含一个元素的数组.谁能解释这种行为背后的逻辑?

我预计:

Array(nil) # => [nil]
Array({})  # => [{}]
Run Code Online (Sandbox Code Playgroud)

这符合:

Array('')  # => ['']
Run Code Online (Sandbox Code Playgroud)

或者另一个合理的行为是:

Array('')  # => []
Run Code Online (Sandbox Code Playgroud)

与以下内容"一致":

Array(nil) # => []
Array({})  # => []
Run Code Online (Sandbox Code Playgroud)

ruby arrays

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