大脑冻结了一个相当微不足道的问题.如果我从这样的数组开始:
$my_array = array(
'monkey' => array(...),
'giraffe' => array(...),
'lion' => array(...)
);
Run Code Online (Sandbox Code Playgroud)
...并且新元素可能会添加不同的键,但总是一个数组值.现在我可以肯定第一个元素总是会有"猴子"键,但我不能确定任何其他键.
当我完成填充数组时,我想将已知元素'monkey'移动到数组的末尾,而不会干扰其他元素的顺序.最有效的方法是什么?
我能想到的每一种方式都显得有点笨拙,我觉得我错过了一些明显的东西.
我正在编写一个定期发出AJAX请求的脚本.请求加载远程页面并从中提取一些数字.该页面是公共的,因此该脚本相当于每隔几分钟刷新一次页面.
如果我发布它,这个脚本将被数百(可能是数千)用户使用(尽管不太可能).
我应该遵守一条经验法则或普遍接受的请求礼貌频率吗?
我有以下SQL查询:
SELECT
COUNT(CASE WHEN u.account_new = 1 THEN u.user_id END) AS new_user,
COUNT(u.user_id) AS all_users,
c.country_name AS country
FROM users u, countries c
WHERE u.country_id = c.country_id
GROUP BY u.country
Run Code Online (Sandbox Code Playgroud)
这显示按国家/地区分组的新用户数和总用户数.我想排除新用户数为零的行,但我不确定如何在上面的SQL中执行此操作.目前我正在用PHP跳过它们,但认为可能有更好的方法来编写查询.
欢迎任何建议.
如果我尝试类似
if [ a < b ]
Run Code Online (Sandbox Code Playgroud)
在bash中,它将其解释为试图将一个文件传输到另一个文件。如果我想进行字符串比较,我知道我应该这样逃避运算符:
if [ a \< b ]
Run Code Online (Sandbox Code Playgroud)
我知道我可以使用[[来解决这个问题,但是我的问题是,为什么像这样逃逸?
我可能会挑剔,但这样做更好:
if ($loggedin) {
// normal process
}
else {
header('Location: login.php');
}
Run Code Online (Sandbox Code Playgroud)
或这个:
if (!$loggedin) {
header('Location: login.php');
exit();
}
// normal process
Run Code Online (Sandbox Code Playgroud)
还是没关系?