相关疑难解决方法(0)

PHP获取文件列表,包括子目录

我试图检索目录中的所有图像,包括所有子目录.我目前正在使用

$images = glob("{images/portfolio/*.jpg,images/portfolio/*/*.jpg,images/portfolio/*/*/*.jpg,images/portfolio/*/*/*/*.jpg}",GLOB_BRACE);
Run Code Online (Sandbox Code Playgroud)

这有效,但结果如下:

images/portfolio/1.jpg
images/portfolio/2.jpg
images/portfolio/subdirectory1/1.jpg
images/portfolio/subdirectory1/2.jpg
images/portfolio/subdirectory2/1.jpg
images/portfolio/subdirectory2/2.jpg
images/portfolio/subdirectory1/subdirectory1/1.jpg
images/portfolio/subdirectory1/subdirectory1/2.jpg
Run Code Online (Sandbox Code Playgroud)

我希望它一次做一个完整的目录分支,结果如下:

images/portfolio/1.jpg
images/portfolio/2.jpg
images/portfolio/subdirectory1/1.jpg
images/portfolio/subdirectory1/2.jpg
images/portfolio/subdirectory1/subdirectory1/1.jpg
images/portfolio/subdirectory1/subdirectory1/2.jpg
images/portfolio/subdirectory2/1.jpg
images/portfolio/subdirectory2/2.jpg
Run Code Online (Sandbox Code Playgroud)

非常感谢任何帮助,欢呼!

PS如果我可以将所有子目录放在投资组合下而不必使用通配符明确说明每个目录,那也是很棒的.

php glob

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

PHP数组:将每个子数组连接在一起(概率)

我想简单地找到更好的方法来做到这一点:

$array = array(
    array('a', 'b', 'c'),
    array('e', 'f', 'g'),
    array('h', 'i', 'j', 'k', 'l')
);
Run Code Online (Sandbox Code Playgroud)

目标是打印这样的东西:

a e h
a e i
a e j
a e k
a e l

a f h
a f i
a f j
a f k
a f l

a g h
a g i
a g j
a g k
a g l
Run Code Online (Sandbox Code Playgroud)

然后为b和做同样的事情c.

目前,我正在使用此代码:

foreach ($array[0] as $val1) {
    foreach ($array[1] as $val2) {
        foreach ($array[2] …
Run Code Online (Sandbox Code Playgroud)

php recursion loops multidimensional-array

10
推荐指数
2
解决办法
940
查看次数

在php中连接n个数组的值

我有一个未知数量的数组,每个数组包含未知数量的单词.我想连接每个列表中的值,以便将单词的所有可能变体存储到最终数组中.

例如,如果数组1包含:

dog
cat
Run Code Online (Sandbox Code Playgroud)

和数组2包含:

food
tooth
Run Code Online (Sandbox Code Playgroud)

和数组3包含:

car
bike
Run Code Online (Sandbox Code Playgroud)

我希望输出为:

dog food car
dog food bike
dog tooth car
dog tooth bike
cat food car
cat food bike
cat tooth car
cat tooth bike
Run Code Online (Sandbox Code Playgroud)

可能有超过3个列表,每个列表最有可能超过2个单词.

我想在PHP中这样做.

如果我知道列表的数量,我知道如何做到这一点,尽管它可能不是资源效率最高的方法.但是foreach如果知道数组的数量,嵌套循环就可以工作.如果你不这样做怎么办?有什么方法可以解决这个问题,如果让我们说有100个100个单词的数组,那么这个方法仍然有效.还是1000?

谢谢!

php arrays concatenation combinatorics

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

从多个嵌套数组中获取所有组合

我试图在PHP中提出一个算法来获取嵌套数组的所有组合:

Array
(
    [0] => Array
        (
            [0] => Option Object
                (
                    [strValue] => rough
                )

            [1] => Option Object
                (
                    [strValue] => smooth
                )

            [2] => Option Object
                (
                    [strValue] => coarse
                )

        )

    [1] => Array
        (
            [0] => Option Object
                (
                    [strValue] => shiney
                )

            [1] => Option Object
                (
                    [strValue] => mat
                )

        )

    [2] => Array
        (
            [0] => Option Object
                (
                    [strValue] => Large
                )

            [1] => Option Object
                (
                    [strValue] => Medium
                ) …
Run Code Online (Sandbox Code Playgroud)

php arrays algorithm logic

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

PHP或JavaScript迭代无限数量的数组

我正面临一个挑战,我有三个数组,每个数组只包含数字.我有一个函数get_sum,函数接收2个参数,一个数组数组和一个数字.这个数字是我希望通过从每个数组中求和一个或多个数来获得的总和,例如:如果我有2个数组[[1,2,3], [1,2,3]]而第二个参数是4 函数将返回将总和为4的数量的组合数.案件:

1+3 = 4
2+2 = 4
3+1 = 4
Run Code Online (Sandbox Code Playgroud)

所以函数将重新调整int 3

我编写了下面的函数,它工作得很好,但我正在寻找一种方法来提高它的效率.目前,如果我有少于6个数组,它将工作,如果我有一百个数组,我希望它工作.有没有可以帮助我的阵列功能?

这是代码:

<?php
function get_sum ($dice, $sum) {
    $sumcount = array();
    $num_of_dice = count($dice);    
    foreach($dice[0] as $die1){
        foreach($dice[1] as $die2){
            if($num_of_dice == 5){
                foreach($dice[2] as $die3){
                    foreach($dice[3] as $die4){
                        foreach($dice[4] as $die5){
                            if($die1 + $die2 + $die3+ $die4 + $die5 == $sum){
                                $good_res = array();
                                array_push( $good_res, $die1, $die2, $die3, $die4, $die5);
                                array_push($sumcount, $good_res);
                            }
                        }
                    }
                }
            }
            if($num_of_dice == …
Run Code Online (Sandbox Code Playgroud)

javascript php arrays foreach

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