小编asi*_*haq的帖子

PHP算法从单个集合生成特定大小的所有组合

我试图推断出一种算法,它生成特定大小的所有可能组合,就像一个接受一个字符数组和大小作为参数的函数,并返回一个组合数组.

示例:假设我们有一组字符:设置A = {A,B,C}

a)尺寸2的所有可能组合:(3 ^ 2 = 9)

AA, AB, AC
BA, BB, BC
CA, CB, CC
Run Code Online (Sandbox Code Playgroud)

b)尺寸3的所有可能组合:(3 ^ 3 = 27)

AAA, AAB, AAC,
ABA, ABB, ACC,
CAA, BAA, BAC,
.... ad so on total combinations = 27
Run Code Online (Sandbox Code Playgroud)

请注意,货币对的大小可能大于pouplation的总大小.防爆.如果set包含3个字符,那么我们也可以创建大小为4的组合.

编辑:另请注意,这与排列不同.在排列中我们不能有重复的字符,例如,如果我们使用置换算法,AA就不会出现.在统计中,它被称为抽样.

php algorithm statistics combinations

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

当用户寻找另一个时间时,在HTML5视频流中计算.m4s段文件后缀

我使用Mp4Box为长MP4视频创建了固定长度的片段.Mp4Box创建一个元信息文件mv_init.mp4和段一样mv_1.m4s,mv_2.m4s...我使用HTML5媒体来源扩展流视频和流是否正常工作.

问题是我无法利用我的HTML5播放器的时间寻找功能.当用户使用搜索栏寻找另一个时间点时,我需要为此获取正确的段文件(mv_{number}.m4s)currentTime.

例如:

  • 视频时长:2小时
  • 段大小:10秒
  • 用户寻求时间:25分钟

25分钟= 25×60秒= 1500秒.由于每个段都是10秒,我需要段号1500/10 = 150.所需的段文件是mv_150.m4s.

计算显然是正确的,但HTML5播放器然后在继续流式传输之前下载更多文件mv_150.m4s.

如何正确计算段文件号,以便在搜索之后,流式传输运行顺畅,无需下载任何额外的文件?

要创建MP4视频的片段,我使用以下命令:

MP4Box -dash 10000 -out video.mpd -dash-profile live -segment-name mv_ -rap video.mp4
Run Code Online (Sandbox Code Playgroud)

video-streaming html5-video media-source mpeg-dash mp4box

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

如果HTTP请求被取消/关闭,PHP会自动终止脚本

问题是,对于长时间的进程,无论客户端浏览器当前是否连接,PHP脚本都会继续执行.是否有可能如果客户端已终止对脚本的Ajax调用,那么脚本也会终止在服务器上?

php ajax

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

强制子类覆盖PHP中的特定函数

我正在用PHP创建一个报告库,并开发了一个名为ReportView的抽象类.这将提供报告的基本功能,如生成页眉和页脚,创建参数表单.

在这个类中还会有另一个名为generate_report的函数.目前它在抽象类中是空的,因为在这个级别我们不知道报告的内容.此外,它还包括一个render函数,它调用此generate_report函数并将输出发送到浏览器.

所以我需要每当子类继承自ReportView时它必须实现generate_report方法,否则PHP必须给出错误.是否有任何关键字或方法可以通过它来强制执行特定功能.

php oop

6
推荐指数
2
解决办法
8498
查看次数

Dijit Tree过滤和搜索不能在ObjectStoreModel上工作

我创建了一个dijit树和一个文本框,我想根据文本框中提供的关键字过滤树节点.我实现了另一个问题中提供的解决方案,但它似乎不起作用.当用户在文本框中输入某个单词时,将使用相同的数据重新填充树.

dijit.Tree搜索和刷新

以下是我的代码:

require(["dijit/form/TextBox","dojo/store/Memory","dijit/tree/ObjectStoreModel","dijit/Tree","dojo/domReady!"],     function(TextBox, MemoryStore, ObjectStoreModel, Tree) {

var searchBox = new TextBox({
    placeHolder: "[  Type here to search  ]"
}, "searchBox");

searchBox.on("blur", function() {
    tree.model.store.query({
        name: "*" + searchBox.value + "*"
    });

 /*the below approach has been taken from the other question*/
    tree.model.store.clearOnClose = true;
    /*tree.model.store.close(); //This is not working?*/
    delete tree._itemNodesMap;
    tree._itemNodesMap = {};
    tree.rootNode.state = "UNCHECKED";
    delete tree.model.root.children;
    tree.model.root.children = null;
    tree.rootNode.destroyRecursive();
    tree.model.constructor(tree.model)
    tree.postMixInProperties();
    tree._load();

});

var store = new MemoryStore({
    idProperty: "id",
    getChildren: function(object) { …
Run Code Online (Sandbox Code Playgroud)

tree dojo store dijit.tree

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

骨干提取完成后获取响应标头

我需要在backbone.js fetch方法的Ajax请求中读取响应头.如果我覆盖了fetch方法,有没有办法读取标题:

var PageCollection = Backbone.Collection.extend({

    url: 'http://localhost/cms?_mn=Mod_Admin&_mf=getAllPages',

    model: PageModel,

    fetch: function (options) {
        Backbone.Collection.prototype.fetch.call(this, options);
        // The above line of code works and fetch the dataset 
        // BUT how i can read the response headers at this point
    }
});
Run Code Online (Sandbox Code Playgroud)

javascript ajax backbone.js

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

PHP将字节串转换为整数

我试图将一个2字节的字符串转换为带有解压缩的Short/int数据类型,但它似乎不起作用:

$str = "\x01\xBB";
unpack("S",$str);
Run Code Online (Sandbox Code Playgroud)

它给出47873,因为它必须返回443

php byte unpack

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

为什么javascript中数组表示法之前的加号返回零

我试图在javascript中理解以下代码的重要性:

alert(+[]);
Run Code Online (Sandbox Code Playgroud)

显示0

这有什么名字吗?涉及哪些概念?

javascript

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

PHP OCI8 扩展不适用于 PHP 7 64 位

我已经安装了 APACHE 2.4 x64 和 PHP7 x64 并下载了 PHP OCI 64 位库,但问题是每当我从 cli 运行 PHP 脚本时,它都会说

PHP 启动:无法加载动态库 'E:\software\server\php-7.0.11-Win32-VC14-x64\ext\php_oci8_11g.dll' - %1 不是有效的 Win32 应用程序

此外,当我从 URL 调用 web 应用程序时,它说

调用未定义的函数 oci_pconnect()

我下载的 OCI 扩展也是 64 位的。链接在这里:

http://windows.php.net/downloads/pecl/releases/oci8/2.1.2/php_oci8-2.1.2-7.0-ts-vc14-x64.zip

有人可以指导这个问题。

php windows oracle oracle-call-interface

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

PHP preg_replace没有按预期工作

我试图从以下两个字符串替换/ admin\ admin:

F:\dev\htdocs\cms\admin
http://localhost/cms/admin 
Run Code Online (Sandbox Code Playgroud)

preg_replace中使用以下正则表达式:

/[\/\\][a-zA-Z0-9_-]*$/i
Run Code Online (Sandbox Code Playgroud)

1)从第一个字符串,它只是替换管理员,因为它应该替换\ admin

2)从第二个字符串中它取代了除http之外的所有内容:因为它应该只替换/ admin

我在http://regexpal.com/上检查了这个表达式,它在那里工作得很完美,但在PHP中却没有.

任何的想法?

请注意,每个字符串admin的最后一部分不是固定的,它可以是任何用户选择的值,这就是我在正则表达式中使用[a-zA-Z0-9 _-]*的原因.

php regex

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

基于父子关系对数组进行排序的算法

我有一组控件,其中包括名称和要首先呈现的控件列表。以下是数组:

$controls [0] = array ("name" => "combobox", array ("countryStore", "center" ) );
$controls [1] = array ("name" => "docBody", array () );
$controls [2] = array ("name" => "top", array ("docBody" ) );
$controls [3] = array ("name" => "button1", array ("formPane" ) );
$controls [4] = array ("name" => "center", array ("docBody" ) );
$controls [5] = array ("name" => "text1", array ("formPane" ) );
$controls [6] = array ("name" => "countryStore", array ("center" ) );
$controls [7] …
Run Code Online (Sandbox Code Playgroud)

php arrays sorting algorithm

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

如果不存在,在 oracle 11g 中设置 NLS_DATE_FORMAT 以截断时间

我在 PLSQL 中有一个 SELECT 查询,它包含多个 DATE 列,其中一些列还包含 TIME。日期和时间必须以标准格式显示,即;DD/MM/YYYY HH:MI:SS AM所以在执行查询之前我设置了 NLS_DATE_FORMAT 参数:

ALTER SESSION SET NLS_DATE_FORMAT = 'DD/MM/YYYY HH:MI:SS AM';

这里的问题是那些只有日期(没有时间)的列也在结果集中显示默认时间,即;中午 12:00:00

在此处输入图片说明

oracle 有没有办法设置 NLS_DATE_FORMAT 参数,如果它不存在于 DATE 文件中,它会截断默认时间?

请注意,我知道 TO_CHAR 和 TRUNC 之类的方法可以实现所需的结果,但在我的情况下,我无法使用这些方法,因为它会影响我的应用程序中的数据排序。

sql oracle plsql

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