小编Nat*_*ael的帖子

爆炸到所有可能的从左到右的组合?

假设我有一个字符串,如下所示:

$string = 'president barack obama';
Run Code Online (Sandbox Code Playgroud)

现在,假设我想把它分解成一个数组,打破这些单词.你认为我可以使用explode(),对吗?这是有效的,但如果我想要一系列所有可能的从左到右的单词组合怎么办?像这样:

Array
(
    [0] => 'barack'
    [1] => 'barack obama'
    [2] => 'obama'
    [3] => 'president'
    [4] => 'president barack'
    [5] => 'president barack obama'
)
Run Code Online (Sandbox Code Playgroud)

最有效的方法是什么?


可能的方法:

到目前为止,我已经想出了一个可能的解决方案,但我希望你们中的一个能给我一个更好的主意.我想像接近这样:

  1. 正常爆炸.
  2. 循环遍历每个单词.
  3. 对于每个单词,将其存储在数组中.然后,检查数组中是否有另一个单词(自身之后).如果有,添加一个新的数组值$current_word . ' ' . $new_word;.为每个单词执行此操作.

现在,这可能会奏效.然而,它似乎很烦人,我担心其他人可能有更好的方法这样做.你们都推荐什么?或许,是否有一个我不知道的PHP功能呢?

php arrays

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

MySQL服务器已经消失(PHP)

所以,我收到以下错误:

Error Number: 2006
MySQL server has gone away
Run Code Online (Sandbox Code Playgroud)

我几乎可以保证这是因为脚本运行需要几十分钟,然后在脚本中间运行更多查询.考虑到这是一个仅限管理员的巨大文件编写脚本,这是可以预期的.(并且完全可以接受)我认为MySQL连接正在关闭,因为PHP/MySQL /某些东西没有打开它.但是,我不能为我的生活弄清楚如何阻止这种超时发生!

我在PHP脚本的顶部有以下内容,但它似乎没有帮助.

ini_set('default_socket_timeout', -1);
ini_set('max_execution_time', -1);
ini_set('memory_limit', -1);
ini_set('mysql.connect_timeout', -1);
Run Code Online (Sandbox Code Playgroud)

知道如何解决这个问题吗?谢谢!

php mysql ini

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

Perl函数中的变量在函数外部具有意外值

所以,我是Perl的新手.我正在尝试创建一个递归子例程.逻辑似乎很简单:

sub directory_tree
{
    my $sth = $dbh->prepare("
        SELECT id, org_id, name
        FROM media_directories
        WHERE
            org_id = ?
            AND parent = ?
            AND bucket = ?
    ");
    $sth->bind_param(1, $_[0]);
    $sth->bind_param(2, $_[1]);
    $sth->bind_param(3, 'mfsermons.myflock2.com');
    $sth->execute;

    $result = '';
    while(my($id, $org_id, $name) = $sth->fetchrow_array())
    {
        $result .= "<option value='$id'>$name</option>";  #377
        $result .= directory_tree($org_id, $id);          #378
    }

    return $result;
}

$directory_tree = '<select name="folder">';
$directory_tree .= directory_tree($churchid, 0);
$directory_tree .= '</select>';
Run Code Online (Sandbox Code Playgroud)

为什么当我$result在第377行之后打印它等于预期值时,但是当我在378行打印时,什么都没有出现?不应该.=运算符只是再次运行该函数,然后追加到值?

我最好的猜测是Perl中存在一些我不理解的范围问题,特别是关于$result.然而,对于我的生活,我无法弄清楚出了什么问题,我完全不知道在哪里看!

当我打开错误报告,致命和警告时,不会返回任何内容.我错过了什么可能出错?

recursion perl dbi

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

按属性排序jQuery结果?

是否可以按属性的值对jQuery结果进行排序?例如,请考虑以下代码段和结果:

$('span').each(function()
{
    $('#log').append($(this).attr('name'));
});
Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script>

<span name="a5"></span>
<span name="a3"></span>
<span name="a6"></span>
<span name="a1"></span>
<span name="a4"></span>

<div id="log"></div>
Run Code Online (Sandbox Code Playgroud)

在不修改HTML或DOM的情况下,如何最好地修改此代码以获得排序结果,即.a1a3a4a5a6?虽然我显然可以将每个结果都放在一个数组中然后对它进行排序,但我假设使用jQuery的原生能力有更优雅的方式.在那儿?

javascript sorting jquery

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

从构造函数返回值是不是很糟糕?

考虑以下简单的类构造函数.(请注意,我显然不包括所有引用的方法.

// Initialize User class.
public function __construct($user_id = NULL)
{
    // If user is loaded (and a user ID is provided)
    if ($user_id)
    {
        // If user is authorized.
        if ($this->authorized($user_id))
        {
            // Load user information.
            $this->info = $this->load($user_id);
        }
        else
        {
            // Return an empty (nonexistent) user.
            return NULL;
        }
    }

    // If user is loaded (and no user ID is provided)
    else
    {
        // Create a new user.
        $new_user = create_user();

        // Return the new user's ID. …
Run Code Online (Sandbox Code Playgroud)

php oop constructor

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

PHP - intval()的目的?

究竟,这个intval()函数用于基数10计算的目的是什么?是不是与类型转换完全相同,只是更慢?在我的所有谷歌搜索中,我都没有找到一个好处.我错过了什么?

php casting

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

标签 统计

php ×4

arrays ×1

casting ×1

constructor ×1

dbi ×1

ini ×1

javascript ×1

jquery ×1

mysql ×1

oop ×1

perl ×1

recursion ×1

sorting ×1