小编Chr*_*ris的帖子

对SQL中的联合或单独的查询更好,然后使用php array_merge?

我有一个SQL查询,有4个UNIONS和4个LEFT JOINS.它是如此布局:

SELECT ... FROM table1
    LEFT JOIN other_table1
UNION SELECT ... FROM table2
    LEFT JOIN other_table2
UNION SELECT ... other_table3
    LEFT JOIN other_table3
UNION SELECT ... FROM table4
    LEFT JOIN other_table4
Run Code Online (Sandbox Code Playgroud)

运行4个单独的查询然后在事后将结果与php合并会更好吗?或者我应该把它们放在一起?哪个会提供最快的执行?

php mysql

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

给定索引值,替换多维数组中的值

我有一个数组,包含一个非常大的多维数组中的值的位置.我需要获取此位置并将该位置的值替换为另一个值.我发现了许多关于通过编写递归函数来使用这样的索引数组返回位置值的文章.但是,这不起作用,因为我无法切割大型数组,我只需要替换那个值.

位置看起来像:

array(1,5,3,4,6);
Run Code Online (Sandbox Code Playgroud)

我必须找到一个值的代码如下:

function replace_value($indexes, $array, $replacement){
    if(count($indexes) > 1)
        return replace_value(array_slice($indexes, 1), $array[$indexes[0]], $replacement);
    else
        return $array[$indexes[0]];
    }
}
Run Code Online (Sandbox Code Playgroud)

如何修改它而不是递归地减少数组直到找到值我可以简单地修改一个大数组的一部分?有没有办法建立

array(1,5,3,4,6);
Run Code Online (Sandbox Code Playgroud)

$array[1][5][3][4][6];
Run Code Online (Sandbox Code Playgroud)

谢谢

php arrays indexing multidimensional-array

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

Perl递归和函数

听说Perl一年后,我决定给它几个小时的时间来看看我能拿到多少.我完成了基础知识,然后进入循环.作为测试,我想看看是否可以构建一个脚本来递归所有最多4个字符的字母数字值.我写了一段PHP代码,前一段时间做了同样的事情所以我采用了相同的概念并使用它.然而,当我运行脚本时,它将"a"作为前3个值,然后仅循环通过最后一个数字.有谁看到我做错了什么?

#!/usr/local/bin/perl 

$chars = "abcdefghijklmnopqrstuvwxyz";
$chars .= "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
$chars .= "0123456789";

@charset = split(//, $chars);

$charset_length = scalar(@charset);

sub recurse
{
 ($width, $position, $base_string) = @_;

for ($i = 0; $i < $charset_length; ++$i) {
    $base = $base_string . $charset[$i];
    if ($position < $width - 1) {
        $pos = $position + 1;
        recurse($width, $pos, $base);
    }
    print $base;
    print "\n";
}
}

recurse(4, 0, '');
Run Code Online (Sandbox Code Playgroud)

这是我运行时得到的:

aaaa
aaab
aaac
aaad
aaae
aaaf
aaag
aaah
aaai
aaaj
aaak
aaal
aaam
aaan …
Run Code Online (Sandbox Code Playgroud)

perl loops recursive-query

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

MySQL号码行错误

$result = mysql_query("SELECT FROM table WHERE job_id = '$key'") or die("Error: ". mysql_error(). " with query ". $query);
    $num_rows = mysql_num_rows($result);
    if($num_rows > 0) {
        mysql_query("UPDATE table SET row = '$value' WHERE job_id = '$key'");
        }else{
        mysql_query("INSERT INTO table SET row = '$value', job_id = '$key'");
        }
Run Code Online (Sandbox Code Playgroud)

我需要检查数据库是否有现有记录,如果不是,我想创建一个.每次我跑这个,虽然我得到:

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in my/web/directory/index.php on line 147
Run Code Online (Sandbox Code Playgroud)

我查看了本网站上的现有帖子,但其中大多数都涉及用户的语法错误.比如忘记了mysql_query(); 据我所知,我认为我的语法正确,但我仍然遇到错误.有帮助吗?

php mysql mysql-num-rows

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