【问题标题】:PHP array path from values来自值的 PHP 数组路径
【发布时间】:2017-10-09 13:48:48
【问题描述】:

你好我有这个数组

$ar=array(
'cat','dog','turtle','eagle'
);

我想用这个结果生成另一个数组

$arFinal=array(
[cat,dog,turtle,eagle],
[cat,dog,turtle],
[cat,dog],
[cat],
[dog,turtle,eagle],
[dog,turtle],
[dog],
[turtle,eagle],
[turtle],
[eagle],
);

【问题讨论】:

  • 这背后的逻辑是什么?
  • 用计数器编写一个循环并使用array_slice( $ar, $start, $length )。您的循环应该生成数字(开始 - 长度): 0-4 , 0-3, 0-2, 0-1, 1-3, 1-2, 1-1, 2-2, 2-1, 3- 1

标签: php arrays


【解决方案1】:

早上好,
我的解决方案(来自您的问题的 cmets):

<?php
    $array = array('cat','dog','turtle','eagle');

    $result = array();
    for($i = 0; $i < count($array); $i++){
        for($l = $i; $l < count($array); $l++){
            $result[] = array_slice($array, $i, count($array)-$l);
        }
    }
?>

输出:

array(10) {
    array(4) { [0]=>  "cat" [1]=>  "dog" [2]=>  "turtle" [3]=>  "eagle" }
    array(3) { [0]=>  "cat" [1]=>  "dog" [2]=>  "turtle" }
    array(2) { [0]=>  "cat" [1]=>  "dog" }
    array(1) { [0]=>  "cat" }
    array(3) { [0]=>  "dog" [1]=>  "turtle" [2]=>  "eagle" }
    array(2) { [0]=>  "dog" [1]=>  "turtle" }
    array(1) { [0]=>  "dog" }
    array(2) { [0]=>  "turtle" [1]=>  "eagle" }
    array(1) { [0]=>  "turtle" }
    array(1) { [0]=>  "eagle" } 
} 

此致
山姆。

【讨论】:

    猜你喜欢
    • 2010-10-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-22
    • 2015-09-11
    • 2021-12-06
    • 1970-01-01
    • 2017-06-12
    相关资源
    最近更新 更多