如何将我拥有的数组成员分开(基于每个成员的字符数/小于等于 6)?

How to separate array members I have, being part (Based on number of characters per member / Less than equal to 6)?

我的代码包含一个包含 7 个元素的数组,每个元素都有不同字符的总数。我想,当字符数满足条件(<= 6)时,然后创建一个新数组。

输出应该是二维数组的形式,

// My Variables, $value & $count
$value=array('as','fix','fine','is','port','none','hi','of');
            for ($i=0; $i <count($value) ; $i++) { 
                $count[]=strlen($value[$i]);
            }

然后输出像 a,

// $value,
Array
(
    [0] => as
    [1] => fix
    [2] => fine
    [3] => is
    [4] => port
    [5] => none
    [6] => hi
    [7] => of
)

// Count the length $value and store in Variable $count,
Array
(
    [0] => 2
    [1] => 3
    [2] => 4
    [3] => 2
    [4] => 4
    [5] => 4
    [6] => 2
    [7] => 2
)

然后我希望我的代码能产生这样的输出:

(分解长度 <= 6 的元素)

// If length value in the variable $count,
Array
(
    [0] => 2
    [1] => 3
        Total Length(5)
    [2] => 4
    [3] => 2
        Total Length(6)
    [4] => 4
        Total Length(4)
    [5] => 4
        Total Length(4)
    [6] => 2
    [7] => 2
        Total Length(4)
)    

这是我的问题点:

// $Values RESULT
Array
(
    [0] => Array
        (
            [0] => as
            [1] => fix
        )
    [1] => Array
        (
            [0] => fine
            [1] => is
        )
    [1] => Array
        (
            [0] => port
        )
    [1] => Array
        (
            [0] => none
        )
    [1] => Array
        (
            [0] => hi
            [1] => of
        )
)

你的例子有点难以理解,但我得到的是:

<?php
$value=array('as','fix','fine','is','port','none','hi','of');

$final = [];

$accumulator = 0;
$final[0] = [];
$x = 0;
for ($i=0; $i <count($value) ; $i++) { 
    var_dump($accumulator);
    if($accumulator + strlen($value[$i]) > 6) {
        echo "adding ".$value[$i] ." to new\n\n";
        $x++;
        $final[$x] = [];
        array_push($final[$x], $value[$i]);
        $accumulator = strlen($value[$i]);

    }else{
        echo "adding ".$value[$i] . " to existing\n\n";
        array_push($final[$x], $value[$i]);
        $accumulator += strlen($value[$i]);
    }
}

var_dump($final);

产量

int(0)
adding as to existing

int(2)
adding fix to existing

int(5)
adding fine to new

int(4)
adding is to existing

int(6)
adding port to new

int(4)
adding none to new

int(4)
adding hi to existing

int(6)
adding of to new

array(5) {
  [0]=>
  array(2) {
    [0]=>
    string(2) "as"
    [1]=>
    string(3) "fix"
  }
  [1]=>
  array(2) {
    [0]=>
    string(4) "fine"
    [1]=>
    string(2) "is"
  }
  [2]=>
  array(1) {
    [0]=>
    string(4) "port"
  }
  [3]=>
  array(2) {
    [0]=>
    string(4) "none"
    [1]=>
    string(2) "hi"
  }
  [4]=>
  array(1) {
    [0]=>
    string(2) "of"
  }
}

http://sandbox.onlinephpfunctions.com/code/20a63b83ad5524c5cd77e111bc15e197bf8bfba2