小编Ani*_*wat的帖子

PHP 多个 OR 在 if 条件下

如果我的用户具有执行操作的必要权限,但我的条件不起作用,我正在尝试检查我的 PHP 代码。我可能误解了 AND/OR。请问我需要你的帮助吗?

实际上,我有:

if ( !in_array('ADMIN',$_SESSION['roles']) || !in_array('MANAGEMENT',$_SESSION['roles']) || $requester != $_SESSION['tnumber'] ) {
                            echo "you are not allowed to XXXX !";
                    } else {
      // allowed
}
Run Code Online (Sandbox Code Playgroud)

我已经将这 3 个条件与 OR (||) 放在一起,但它失败了。

我想说的是:

  1. 如果用户没有“ADMIN”或“MANAGEMENT”权限($SESSION['roles']数组中的值)
  2. 或者如果用户不是请求者($requester应该与$_SESSION['tnumber']

然后他应该有一条消息说他不被允许。

否则(如果他有 ADMIN 权限,或 MANAGEMENT 权限,或者他是请求者),那么它应该可以工作。

我怎样才能改变我的条件来满足这个要求?

感谢和问候!

php if-statement conditional-statements

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

其他情况不起作用

我正在学习JS.所以我正在尝试创建一个函数,但"其他"部分不起作用.你能帮我理解为什么吗?

function accesSite() {
    let ageLimite = prompt("How old are you ?");
    if (ageLimite >= 16) {
        var yes = " Ok, you can drive ! ";
    } else {
        var no = "No, you can't drive!";
    }
    let message = "Can you drive ?" + yes || no;
    return message
}

alert(accesSite());
Run Code Online (Sandbox Code Playgroud)

javascript

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

\ uXXXX,\ uuXXXX和\ uuuXXXX之间的区别

以下行来自JLS§3.3:

如果符合条件的\后跟u 或者多个u,并且最后一个u后面没有四个十六进制数字,则会发生编译时错误.

所以这意味着以下几行将产生相同的结果:

System.out.println("\u0065");   // prints "e"
System.out.println("\uu0065");  // prints "e"
System.out.println("\uuu0065"); // prints "e"
Run Code Online (Sandbox Code Playgroud)

使用单一的u\uXXXX本质上是做一样的使用uu\uuXXXX.我的问题是,为什么我们需要这种设计?

java jls

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

foreach循环返回零结果

我从json文件中提取数据,我得到的结果没有问题,但我只得到1个结果.所以当我做一个foreach循环时,我没有得到任何结果.

json结果:

{
  "channels": [
    {
      "position": 4,
      "id": "901",
      "name": "Away"
    },
    {
      "position": 0,
      "id": "900",
      "name": "General"
    },
    {
      "position": 1,
      "id": "889",
      "name": "HQ"
    },
    {
      "position": 2,
      "id": "888",
      "name": "Base"
    }
  ],
}
Run Code Online (Sandbox Code Playgroud)

我可以回应一下:

echo $json_array['channels'][0]['position'];
echo $json_array['channels'][0]['id'];
echo $json_array['channels'][0]['name'];
Run Code Online (Sandbox Code Playgroud)

但无论我尝试什么,我只得到1个结果,我做一个foreach循环,它什么也没做

foreach($json_array as $item) {

     echo $item['channels'][0]['position'];
     echo $item['channels'][0]['id'];
     echo $item['channels'][0]['name'];

 }
Run Code Online (Sandbox Code Playgroud)

我错过了什么吗?

php

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

ASC和DESC订单的自定义比较器实现

我试图找到一种方法来定义java.util.Comparator可用于升序和降序用途的唯一实现。

我定义了一个Golf.java代表大众汽车的类。我还定义了一个比较器,该比较器Golf按功率(int变量)对实例进行排序。我想知道是否可以将相同的比较器用于升序和降序。

GolfHorsePowerComparator.java

package test2.comparator;

import test2.dto.Golf;
import java.util.Comparator;

public class GolfHorsePowerComparator implements Comparator<Golf> {

    @Override
    public int compare(Golf a, Golf b) {
        return a.getHorsePower() > b.getHorsePower() ? 1 : a.getHorsePower() == b.getHorsePower() ? 0 : -1;
    }

}
Run Code Online (Sandbox Code Playgroud)

给定一个列表,Golf我如何使用相同的java.util.Comparator实现对它们进行升序或降序排序?

java sorting algorithm comparator

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

freecodecamp挑战 - 寻求和摧毁

我正在努力解决这个挑战寻求和摧毁.我无法弄清楚出了什么问题.有帮助吗?

寻找和摧毁你将获得一个初始数组(驱逐舰函数中的第一个参数),后跟一个或多个参数.从初始数组中删除与这些参数具有相同值的所有元素.

这是下面的初始代码:

function destroyer(arr) {
  // Remove all the values
  return arr;
}

destroyer([1, 2, 3, 1, 2, 3], 2, 3);
Run Code Online (Sandbox Code Playgroud)

这是我的代码如下:

function destroyer(arr) {
  var letsDestroyThis = [];
  var i =1 ; while (i<arguments.length) {
    letsDestroyThis.push(arguments[i]);
    i++;
  }
  
  for(var j=0 ; j< arguments[0].length; j++) {
    for (var k= 0; k< letsDestroyThis.length; k++) {
      if(arguments[0][j] === letsDestroyThis[k]){
        arguments[0].splice(j, 1);
      }
    }
  }
  
  return arguments[0];
}

destroyer([2, 3, 2, 3], 2, 3);
Run Code Online (Sandbox Code Playgroud)

提前致谢!

javascript

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

PHP日期时间增加6个月零1年

我有这样一个日期设置使用PHP日期时间。

$originaldate = 2019-01-10 17:52:17
$converted = DateTime::createFromFormat("Y-m-d H:i:s", $originaldate);
Run Code Online (Sandbox Code Playgroud)

该日期已成功转换为PHP DateTime对象,现在我想添加两个比该日期早6个月零1年的新日期。

什么是实现这一目标的最佳方法?

php datetime

0
推荐指数
2
解决办法
5078
查看次数

RegExp - 替换精确字符串

我需要正则表达式的帮助,我试图将"Inc"替换为"LLC"许多字符串.

我在java中使用了这段代码:

String newValue = newValue.replaceAll("(?i)Inc[^\\w]","LLC");
Run Code Online (Sandbox Code Playgroud)

但结果不正确,更换后删除了一个char:

Exp:CONSULTANTS,INC.("ABC")==> CONSULTANTS,LLC("ABC")//"." 去掉了.

请注意我使用[^\w]来防止在"include"之类的句子中替换"inc".

java regex string replaceall

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

如何在 Java 16 中删除 --enable-preview?

为了在 JDK 15 中使用记录,我曾经使用--enable-preview --release 15在 Ant 构建上传递给 javac 的参数进行编译。一切都编译并运行良好。

使用 JDK 16 时,如果我使用相同的参数进行编译,我会得到

错误:带 --enable-preview 的源版本 15 无效(仅版本 16 支持预览语言功能)

记录是 JDK 16 的标准功能,因此我预计应该在没有这些参数的情况下进行编译。但是,如果我删除它们,我会得到

Foo.class 使用 Java SE 15 的预览功能。(使用 --enable-preview 允许加载包含预览功能的类文件)

Ant 报告编译失败:

编译失败;有关详细信息,请参阅编译器错误输出。在 org.apache.tools.ant.taskdefs.Javac.compile (Javac.java:1425)

因此,无论有没有标志,编译都会失败。怎么了?

java ant javac preview-feature java-16

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