小编Don*_*nic的帖子

如何在PHP中找到数组中的字符串?

我有一个数组:

$array = array("apple", "banana", "cap", "dog", etc..) up to 80 values.
Run Code Online (Sandbox Code Playgroud)

和一个字符串变量:

$str = "abc";
Run Code Online (Sandbox Code Playgroud)

如果我想检查$str数组中是否存在此字符串(),我使用的preg_match函数如下所示:

$isExists = preg_match("/$str/", $array);

if ($isExists) {
    echo "It exists";
} else {
    echo "It does not exist";
}
Run Code Online (Sandbox Code Playgroud)

这是正确的方法吗?如果阵列变大,它会非常慢吗?还有其他方法吗?我试图缩小我的数据库流量.

如果我要比较两个或更多字符串,我该怎么做?

php arrays

9
推荐指数
3
解决办法
6万
查看次数

动态编程由64个按钮组成的网格(8x8)

我正在尝试创造一个纯粹为了学习C#和国际象棋的国际象棋游戏.刚开始,我想通过代码而不是设计师创建一个8x8的按钮网格.这样可以省去每个按钮的硬编码.

一个按钮数组似乎是一个很好的开始,但我不知道如何实现它.

c# arrays grid button winforms

9
推荐指数
2
解决办法
7060
查看次数

ACL应如何在REST API中运行?

REST API是用ExpressJs 4.xx/NodeJS编写的.

我们假设一个界面:

app.delete('/api/v1/users/:uid', function (req, res, next) {
...
}
Run Code Online (Sandbox Code Playgroud)

因此,使用该界面可以删除用户.

假设系统中有2个客户,每个客户都有用户.用户可以拥有删除具有名为CustomersAdmin的角色的其他用户的权限.但是,该用户应该只能从他的公司(客户)中删除用户.

所以,让我们让ACL进入场景.假设在我们的ACL中,我们可以定义角色,资源和权限.(代码来自http://github.com/OptimalBits/node_acl#middlware.)

app.delete('/api/v1/users/:uid', acl.protect(),  function (req, res, next)   
{
 // ? Delete User with uid = uid or check 
 // ? first if current user is in same company as user uid
}
Run Code Online (Sandbox Code Playgroud)

有两件事需要考虑.一个是保护路由,从未经许可的人到该路由上的HTTP/DELETE(/ api/v1/users /:uid),另一个是不允许具有角色CustomersAdmin的人员从另一个客户删除用户.

ACL应该同时做两件事吗?或者它应该保护route/api/v1/users?

那么,我会用它吗?

acl.allow([
{
  roles:'CustomersAdmin',
  allows:[
   {resources:['/api/v1/users', '/api/v1/users'] permissions:'delete'}
}
app.delete('/api/v1/users/:uid',acl.middleware(3), function(req,res,next)
{
Make sure uid is a User from same Customer as request is from(req.session.userid)
}
Run Code Online (Sandbox Code Playgroud)

这将允许每个具有角色CustomersAdmin的用户删除他想要的任何用户.或者最好将每个可能的用户路由定义为资源并定义多个可以与之交互的角色?

acl.allow([ …
Run Code Online (Sandbox Code Playgroud)

rest acl node.js express

9
推荐指数
1
解决办法
2738
查看次数

使API通过Async / Await获取“ POST”的正确方法

我正在做一个需要我向API发出请求的项目。用Async / Await发出POST请求的正确形式是什么?

举例来说,这是我获取所有设备列表的方法。如何将请求更改为POST以创建新设备?我知道我必须添加带有数据主体的标头。

getDevices = async () => {
  const location = window.location.hostname;
  const response = await fetch(
    `http://${location}:9000/api/sensors/`
  );
  const data = await response.json();
  if (response.status !== 200) throw Error(data.message);
  return data;
};
Run Code Online (Sandbox Code Playgroud)

javascript post fetch reactjs

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

JPanel在另一个里面

我在另一个JPanel中遇到问题.我不知道为什么,但结果是一个简单的方形,但尺寸不正确.这是为什么?

import java.awt.Color;
import java.awt.Container;

import javax.swing.JFrame;
import javax.swing.JPanel;

public class jj extends JFrame {

    private JPanel painel3;
    private JPanel painel5;
    private Container container;

    public jj() {

        container = getContentPane();
        container.setLayout(null);

        painel5 = new JPanel();
        painel5.setBackground(Color.red);
        painel5.setBounds(120, 110, 100, 120);
        painel3 = new JPanel();
        painel3.setBackground(Color.white);
        painel3.add(painel5);
        painel3.setBounds(50, 50, 290, 220);

        container.add(painel3);

        // frame
        setSize(1000, 900);
        setLocation(200, 50);
        setResizable(false);
        setVisible(true);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    }

    public static void main(String[] args) {
        new jj();
    }
}
Run Code Online (Sandbox Code Playgroud)

java swing jpanel

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

如何选择具有指定类和rel的锚标签?

我有这样的锚标签,我需要选择它!

<a href="#" class="foo bar" rel="123">...</a>
Run Code Online (Sandbox Code Playgroud)

有没有可能用jQuery编写一个选择器,选择一个类似于foo bar和类似的类的锚123

anchor jquery rel jquery-selectors

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

如何在MySQL中的多个表中对列进行求和?

在MySQL中我有两个表:

Table MC:
----------------
|TransNo | Qty |
|--------|-----|
|  xxx1  |  4  | 
|  xxx3  |  3  |
Run Code Online (Sandbox Code Playgroud)

Table Amex:
----------------
|TransNo  | Qty |
|---------|-----|
|  xxx1   |  2  |
|  xxx5   |  1  | 
Run Code Online (Sandbox Code Playgroud)

我需要将QtyMC(方程式7)和表Amex(方程式3)中的列相加,得到总数量的结果.

当我做

SELECT (SUM(amex.Qty) + SUM(mc.Qty)) as total_qty from amex, mc
Run Code Online (Sandbox Code Playgroud)

我得到了笛卡尔积(20),但我需要的正确答案是10.我如何更改此查询以获得正确的结果?

mysql sum

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

使用JavaScript自定义确认对话框

我想创建一个类似于confirm()显示对话框(带有问题和2个按钮的div)的JavaScript函数,true如果用户单击"确定"或false其他,则返回.

是否可以使用JavaScript/jQuery但没有插件(例如jQuery UI或Dialog)?因为我正在努力减少尺寸和往返时间......

我试着编写这段代码,但我不知道如何让用户点击这个函数"等待".

我想以这种方式使用我的函数:

answer=myConfirm("Are you sure?")
Run Code Online (Sandbox Code Playgroud)

通过这种方式,我可以在几个上下文中使用相同的函数,只需更改作为参数传递的问题.这与confirm()的行为相同

javascript jquery confirm dialog callback

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

在NetBeans中,是否有用于在HTML标记之间移动的键盘快捷键?

编辑HTML文件时,如果光标位于开始标记上,则匹配标记将在编辑器中突出显示.我希望能够映射一个键组合,如alt+ (或其他),以转到结束标记.我看着在工具- >选项- >键盘布局像这样一个现有的动作,但没有找到一个,所以我决定尝试创建一个它.我发现我可以通过以下多个步骤完成:ctrl+ /(折叠代码),, ctrl+ *(展开代码).我录制了一个宏,它生成了这段代码:

collapse-fold-tree caret-forward expand-fold-tree
Run Code Online (Sandbox Code Playgroud)

不幸的是,当我运行宏时,光标停留在相同的位置,而不是像我手动执行步骤时那样结束于结束标记的末尾.我已经成功创建了一个从结束标记移动到开始标记的宏:

collapse-fold-tree expand-fold-tree
Run Code Online (Sandbox Code Playgroud)

但我无法让前锋工作.我也有一种不好的感觉,我只是忽略了键盘设置中的动作,现在正试图重新发明那个轮子.这是一个已经存在的行动吗?如果没有,有谁知道我怎么可能让宏工作?

netbeans keyboard-shortcuts html-editor

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

Laravel Eloquent,仅选择存在关系的行

我试图从表中选择,但我只想选择具有现有关系的东西.

例如,如果我有用户和评论,并且用户有很多评论,我想做类似的事情:

User::hasComments()->paginate(20);
Run Code Online (Sandbox Code Playgroud)

所以,我只想选择至少有一条评论的用户,并对该查询的结果进行分页.有没有办法做到这一点?

php laravel eloquent laravel-4

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