如何从另一个PHP脚本中运行多个PHP脚本,如批处理文件?我不认为包含会起作用,如果我理解包括在做什么; 因为我正在运行的每个文件都会重新声明一些相同的函数,等等.我想要的是执行每个新的PHP脚本,就像它在一个干净,新鲜的堆栈中,不知道变量,函数等.来到它面前.
更新:我应该提到脚本在Windows上运行,但不在Web服务器上运行.
我正在使用jQuery,并且我有一个用作事件回调的函数,因此在该函数中"this"表示捕获事件的对象.但是,有一个实例,我想从另一个函数显式调用该函数 - 在这种情况下如何设置"this"在函数内相等?
例如:
function handleEvent(event) {
$(this).removeClass("sad").addClass("happy");
}
$("a.sad").click(handleEvent); // in this case, "this" is the anchor clicked
function differentEvent(event) {
$("input.sad").keydown(e) {
doSomeOtherProcessing();
handleEvent(e); // in this case, "this" will be the window object
// but I'd like to set it to be, say, the input in question
}
}
Run Code Online (Sandbox Code Playgroud) 我知道自己编写代码是微不足道的,但是如果它已经内置到PHP中而没有更多的代码来维护,是否有一个用于"压缩"PHP数组的内置函数?换句话说,假设我创建了一个数组:
$array = array();
$array[2000] = 5;
$array[3000] = 7;
$array[3500] = 9;
Run Code Online (Sandbox Code Playgroud)
我想要的是一个数组,其中$ array [0] == 5,$ array [1] == 7,$ array [2] == 9.
我能做到这一点:
function array_defragment($array) {
$squashed_array = array();
foreach ($array as $item) {
$squashed_array[] = $item;
}
return $squashed_array;
}
Run Code Online (Sandbox Code Playgroud)
...但它似乎是PHP内置的东西 - 我只是在文档中找不到它.
有没有办法使用CASE WHEN测试中的值作为其结果之一,而无需写出两次select语句(因为它可能很长而且很乱)?例如:
SELECT id,
CASE WHEN (
(SELECT MAX(value) FROM my_table WHERE other_value = 1) IS NOT NULL
)
THEN (
SELECT (MAX(value) FROM my_table WHERE other_value = 1
)
ELSE 0
END AS max_value
FROM other_table
Run Code Online (Sandbox Code Playgroud)
有没有办法可以使用SELECT语句的第一次运行结果(对于测试)作为THEN值?我尝试在第一个SELECT之后使用"AS max_value",但它给了我一个SQL错误.
更新:哎呀,正如Tom H.指出的那样,我在原来的问题中忘记了"IS NOT NULL".