我需要从600k到2000k生成一个大的随机数列表,但列表不能有重复.
我目前的'实施'看起来像这样:
<?php
header('Content-type: text/plain');
$startTime = microtime(true);
$used = array();
for ($i=0; $i < 600000; ) {
$random = mt_rand();
//if (!in_array($random, $used)) {
$used[] = $random;
$i++;
//}
}
$endTime = microtime(true);
$runningTime = $endTime - $startTime;
echo 'Running Time: ' . $runningTime;
//print_r($used);
?>
Run Code Online (Sandbox Code Playgroud)
如果我保持in_array测试评论处理时间大约是1秒,那么mt_rand调用和used数组填充相对"便宜"但是当我取消注释in_array测试时,会发生坏事!(我只是等待 - 已经超过10分钟 - 脚本终止......)
所以我在重复检测方面或生成部分寻找替代方案(如何生成随机数而不存在重复的风险)
我对任何建议持开放态度.
假设我有这个位字段值: 10101001
我如何测试任何其他值是否有任何不同n.没有考虑职位?
例:
10101001
10101011 --> 1 bit different
10101001
10111001 --> 1 bit different
10101001
01101001 --> 2 bits different
10101001
00101011 --> 2 bits different
Run Code Online (Sandbox Code Playgroud)
我需要进行大量的比较,所以我主要是寻找性能,但任何提示都非常受欢迎.
我有一个类定义,如:
class JConfig {
var $offline = '0';
var $editor = 'tinymce';
var $list_limit = '20';
var $helpurl = 'http://help.joomla.org';
var $log_path = '/path/to/logs';
// ....
}
Run Code Online (Sandbox Code Playgroud)
我想动态定义'$ log_path'
我试图在类声明之外定义一个常量,但没有运气
例:
if(!defined('ROOT_PATH')){
define('ROOT_PATH', dirname(__FILE__));
}
class JConfig {
var $offline = '0';
var $editor = 'tinymce';
var $list_limit = '20';
var $helpurl = 'http://help.joomla.org';
var $log_path = ROOT_PATH . '/logs'; // This generates a error
// ....
}
Run Code Online (Sandbox Code Playgroud)
但我不能这样做,有没有办法实现这一目标?
如何在Symfony2中设置自定义驱动程序选项?
在这种情况下,我想SET time_zone = '-04:30'在MySQL中运行作为连接初始化的一部分.
我有以下查询:
SELECT a.status, count(a.status) FROM
(SELECT 'Delivered' AS status
UNION ALL SELECT 'Buffered'
UNION ALL SELECT 'Not Delivered'
UNION ALL SELECT 'Not Reported') a
LEFT JOIN
bulk_sms_numbers
ON a.status = bulk_sms_numbers.delivery_status
WHERE bulk_sms_id = 52
GROUP BY a.status;
Run Code Online (Sandbox Code Playgroud)
以下结果:
+-----------+-----------------+
| status | count(a.status) |
+-----------+-----------------+
| Buffered | 10 |
| Delivered | 3200 |
+-----------+-----------------+
Run Code Online (Sandbox Code Playgroud)
我希望结果集包含union all查询中列出的所有可能状态
我需要的示例输出.
+---------------+-----------------+
| status | count(a.status) |
+---------------+-----------------+
| Buffered | 10 |
| Delivered | 3200 |
| Not Delieverd …Run Code Online (Sandbox Code Playgroud) 有没有办法将表单输入字段限制在某个数字范围之间,比方说(0,100)
我在onkeydown事件中过滤输入,只接受数字,问题是我想拒绝一个数字,如果该数字会使输入超出范围
因此,我需要一种方法来查看输入的当前值加上用户按下的键是否会在该范围之间求和.
我试过用:
if((parseFloat(this.value) + parseFloat(String.fromCharCode(e.keyCode)) > 100){
return false;
}
Run Code Online (Sandbox Code Playgroud)
事情是e.keyCode可以为相同的号码返回不同的代码,现在为数字9返回57,但如果我按下小键盘上的数字则返回105.
有没有办法实现这个目标?
我想将一个字符串分成两部分,字符串几乎是自由文本,例如:
$string = 'hi how are you';
Run Code Online (Sandbox Code Playgroud)
我希望拆分看起来像这样:
array(
[0] => hi
[1] => how are you
)
Run Code Online (Sandbox Code Playgroud)
我尝试使用这个正则表达式:/(\S*)\s*(\.*)/但即使返回的数组大小正确,值也是空的.
使这个有效的模式应该是什么?
我有这个架构:
CREATE TABLE `lotto`.`combinaciones` (
`indice` mediumint(8) unsigned NOT NULL,
`binario` int(10) unsigned NOT NULL,
PRIMARY KEY USING BTREE (`indice`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
CREATE TABLE `lotto`.`sorteo` (
`numeroSorteo` int(11) NOT NULL,
`fechaSorteo` date NOT NULL,
`precioCarton` double NOT NULL,
`valorSerial` double NOT NULL,
`valorMiniserial` double NOT NULL,
`estatusSorteo` int(11) NOT NULL,
`cantidadCartones` int(11) NOT NULL,
PRIMARY KEY (`numeroSorteo`),
UNIQUE KEY `fechaSorteo` (`fechaSorteo`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
CREATE TABLE `lotto`.`cartones` (
`numeroSorteo` int(11) NOT NULL,
`serial` mediumint(9) NOT NULL,
`indice` …Run Code Online (Sandbox Code Playgroud) 我在文件a.txt中有一个字符串
{moslate}alho{/moslate}otra{moslate}a{/moslate}
需要otra使用sed 获取字符串.
有了这个正则表达式
sed 's|{moslate}.*{/moslate}||g' a.txt
a根本没有输出,但是当我添加?到正则表达式时
s|{moslate}.*?{/moslate}||g a.txt
(我在某处读到它使正则表达式非贪婪)我根本得不到匹配,我的意思是得到以下输出
{moslate}alho{/moslate}otra{moslate}a{/moslate}
如何使用sed获得所需的输出?
我有一个SugarCRM安装.
我的问题是当我在sugarcrm中搜索搜索查询时阻止所有其他查询.
Id User Host db Command Time State Info
49498 sugar xx.xx.xx.xx:59568 sugarcrm Query 5 Sorting result SELECT leads.id ,leads_cstm.cedula_c,leads_cstm.numplanilla_c,leads_cstm.profession_c,leads_cstm.b
49502 sugar xx.xx.xx.xx:59593 sugarcrm Sleep 5 NULL
Run Code Online (Sandbox Code Playgroud)
正如您所看到的49502,我认为查询ID 是等待查询49498完成的.
第一个查询是一个搜索查询,它持续执行第二个查询的时间是索引页面的查询
奇怪的是,如果我打开两个终端并使用与我的sugarcrm安装相同的用户连接到mysql,我可以同时执行两个查询但是如果我在浏览器中进行搜索并打开一个新选项卡并尝试访问索引页面,第二个选项卡挂起,直到第一个选项卡完成执行或从服务器获得超时.
我使用php作为模块和cgi进行了测试.
所以我想它应该是mysql_query函数本身的东西?
有任何想法吗?优化db(很多表,大量内容)非常困难,但至少该站点应该能够同时使用...
php ×5
mysql ×4
sql ×3
regex ×2
algorithm ×1
bit ×1
class ×1
comparison ×1
constraints ×1
doctrine-orm ×1
filtering ×1
foreign-keys ×1
javascript ×1
locking ×1
non-greedy ×1
optimization ×1
pcre ×1
performance ×1
sed ×1
select ×1
symfony ×1
timezone ×1