小编Boj*_*les的帖子

php递归错误分解

所以我对递归的想法是新的,我写了这个简单的代码来计算一个数字($ n)这是代码:

$n = 120;
$y = 1;

function factor($n, $y) {
    if($y > $n) {
        return 1;
    } else {
        $x = $n / $y;
        list($whole, $dec) = array_pad(explode('.', $x), 2, Null);
        if($dec == '') {
            echo 'x:' . $x . ' y:' . $y . '</br>';
            return factor($n, ($y + 1));
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

这是代码输出的内容:

x:120 y:1
x:60 y:2
x:40 y:3
x:30 y:4
x:24 y:5
x:20 y:6
Run Code Online (Sandbox Code Playgroud)

所以我的问题是为什么它会在它完成之前停止?

php recursion factoring

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

使用JavaScript或jQuery更改CSS规则

初步研究

我知道.css()用于获取和设置特定元素的CSS规则.我见过一个有这个CSS的网站:

body, table td, select {
    font-family: Arial Unicode MS, Arial, sans-serif;
    font-size: small;
}
Run Code Online (Sandbox Code Playgroud)

我从来不喜欢Arial Unicode这种字体.嗯,那是我个人的感受.所以,我会使用Chrome的样式检查编辑Arial Unicode MSSegoe UI或者我喜欢的东西.无论如何,除了使用以下实现相同之外?

案例一

$("body, table td, select").css("font-family", "Segoe UI");
Run Code Online (Sandbox Code Playgroud)
  • 递归,性能密集.
  • 当事物被动态加载时不起作用.

案例二

$('<style>body, table td, select {font-famnily: "Segoe UI";}</style>')
    .appendTo("head");
Run Code Online (Sandbox Code Playgroud)
  • 还有比这个更好的方法吗?
  • 创建了很多<style>标签!

javascript css jquery styles

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

使用RecursiveArrayIterator获取所有父节点

基本上,我想使用

$foo = new RecursiveIteratorIterator(new RecursiveArrayIterator($haystack));
Run Code Online (Sandbox Code Playgroud)

方法,但不是返回一个平面数组foreach()来保持结构,而是只返回一个伟大的大子节点和它的父节点.这可能在PHP?


我的任务是优化我公司的一些(可怕的)代码库.我发现了一个通过数组递归,搜索密钥的函数.我不能用一个简单的替换它,array_search()或者array_key_exists()因为自定义函数也返回匹配(找到)键的父节点,而不是只返回一个truefalse.

如何使用RecursiveArrayIterator,RecursiveIteratorIterator或做不到这一点,其他内置功能(即尽可能少的自定义代码越好)返回匹配的节点与它的父树从搜索阵列?我想获得最快的功能,因为目前这个功能花费8秒执行14000次,因此我需要使用内置函数.

我现有的尝试(下面)非常缓慢.

function search_in_array($needle, $haystack) {
    $path = array();

    $it = new RecursiveArrayIterator($haystack);
    iterator_apply($it, 'traverse', array($it, $needle, &$path));

    return $path;
}

function traverse($it, $needle, &$path) {
    while($it->valid()) {
        $key = $it->key();
        $value = $it->current();

        if(strcasecmp($value['id'], $needle) === 0) {
            $path[] = $key;
            return;
        } else if($it->hasChildren()) {
            $sub = null;
            traverse($it->getChildren(), $needle, &$sub);
            if($sub) {
                $path[$key] …
Run Code Online (Sandbox Code Playgroud)

php optimization spl

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

MySQL条件连接使用相同的表

我想用a做以下LEFT JOIN(请不要建议UNION ALL)

  SELECT o.*, s.col1, s.col2 FROM order o 
    INNER JOIN user u ON o.user_id = u.id

   IF o.date less than '2011-01-01'
      JOIN subscribe s ON u.key = s.key
   ELSE
       JOIN subscribe s ON u.email = s.email
   END IF;
Run Code Online (Sandbox Code Playgroud)

我使用以下但无法测试它.

SELECT o.*, COALESCE(s1.col1,s2.col1) AS 
   col1, COALESCE(s1.col2, s2.col2) AS col2
     FROM order o INNER JOIN user u ON o.user_id = u.id
     LEFT JOIN subscribe s1 ON 
     (u.key LIKE (CASE o.date >= '2011-01-01 00:00:00' 
                      WHEN TRUE THEN …
Run Code Online (Sandbox Code Playgroud)

mysql conditional join

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

mozilla firefox存储cookie的速度不够快?

所以我有一些会话检查,看看它是不是使用PHP被盗.我将请求计数设置为会话数组中的值,并将具有相同值的cookie发送到客户端.如果值不匹配则有人干扰.

问题是,有时值不匹配,我怀疑有人偷了会话并使用它.Firefox存储cookie的速度有可能吗?我问这个是因为当我点击时我有一个点击垃圾的鼠标坏了.当我使用触摸板时,我从不断开与应用程序的连接.

php cookies firefox mozilla

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