Php 如何分离我拥有的数组成员,作为一部分(基于每个成员的字符数/小于等于6)?

Php 如何分离我拥有的数组成员,作为一部分(基于每个成员的字符数/小于等于6)?,php,arrays,string,split,explode,Php,Arrays,String,Split,Explode,我的代码包含一个数组,该数组有7个元素,每个元素都有不同的字符总数。我想,当字符数符合标准时(你的例子有点难理解,但我得到的是: <?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($

我的代码包含一个数组,该数组有7个元素,每个元素都有不同的字符总数。我想,当字符数符合标准时(你的例子有点难理解,但我得到的是:

<?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);

太好了,非常非常感谢,我的问题解决了。
// $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
)
// 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"
  }
}