根据PHP文档,可以使用以下限制初始化类中的属性:
"这个声明可能包括一个初始化,但是这个初始化必须是一个常量值 - 也就是说,它必须能够在编译时进行评估,并且不能依赖于运行时信息才能被评估."
我正在尝试初始化一个数组并遇到一些问题.虽然这很好:
public $var = array(
1 => 4,
2 => 5,
);
Run Code Online (Sandbox Code Playgroud)
这会产生语法错误:
public $var = array(
1 => 4,
2 => (4+1),
);
Run Code Online (Sandbox Code Playgroud)
即使这不被接受:
public $var = 4+1;
Run Code Online (Sandbox Code Playgroud)
这表明它不是array()语言结构的限制.
现在,我最后一次检查时,"4 + 1"等同于一个恒定值,不仅应该被接受,而且实际上应该被优化掉.无论如何,它肯定能够在编译时进行评估.
那么这里发生了什么?限制是否真的沿着"根本不能是任何计算表达式",而不是任何"能够在编译时评估"的表达式?在doc的语言中使用"evaluate"表明允许进行简单的计算,但是......
如果这是PHP中的错误,是否有人有错误ID?我试图找到一个,但没有任何运气.
我正在处理的软件应用程序需要能够根据当前拥有的任务数量为一组用户分配任务,其中具有最少任务的用户最有可能完成下一个任务.但是,当前任务负载应被视为加权,而不是绝对订单定义.IOW,我需要实现一个加权的负载平衡算法.
假设有五个用户,具有以下任务数:
A:4 B:5 C:0 D:7 E:9
我想为CABDE命令中的下一个任务确定用户的优先级,其中C最有可能获得分配,E最不可能.这里有两件重要的事情需要注意:
就目前而言,我们可以将所有任务视为平等,但我不介意将任务困难作为我将来可以使用的变量 - 但这纯粹是锦上添花.
到目前为止我提出的想法在某些情况下并不是很好.如果用户数量很多,他们可能会过度密切地对用户进行加权,如果用户没有当前任务,他们可能会失败,或者....
我试过在网上闲逛,但运气不好.任何人都可以给我一个运行良好的算法的快速摘要吗?我不需要实际的实现 - 我会做那部分 - 只是一个很好的描述.另外,有一个可以免费访问的好网站吗?
此外,虽然我当然欣赏质量,但这不一定在统计上是完美的.所以,如果你能想到一个好但不是很好的技术,我很感兴趣!
language-agnostic algorithm load-balancing scheduling resource-scheduling