【问题标题】:PHP how to populate array from array by value [closed]PHP如何按值从数组中填充数组[关闭]
【发布时间】:2014-07-19 09:23:45
【问题描述】:

谢谢,可以说我有这样的数组

$array = array('1','1','3','1','2','3','2','2','2','3');

我想从上面的数组创建数组,但是有一些常见的元素,比如

$arr1 = ('1','1','3'); $arr2 = ('1','2','3'); $arr3 = ('2','2','2','3');

where 条件从数组中找到值 3。 有没有这样的PHP函数,我浏览了手册但是看不到我要找的东西。

【问题讨论】:

  • but of common elements,这是什么意思?
  • array_chunk() 也许,但是为什么前两个数组每个都有三个元素,最后一个有 4 个条目?
  • 是否要拆分一个值小于前一个值的数组?
  • 只需循环并添加到数组中,直到达到 3,然后创建一个新数组并重复

标签: php arrays


【解决方案1】:

我不确定你的意思是什么,但我想这段代码会满足你的需求

$result = array();
$needle = '3';
$haystack = array('1','1','3','1','2','3','2','2','2','3');
$tmp = array();
foreach ($haystack as $var){
    $tmp[] = $var;
    if ($var == $needle){
        $result[] = $tmp;
        $tmp = array();
    }
}
if (!empty($tmp)){
    $result[] = $tmp;
}

结果是

Array
(
    [0] => Array
        (
            [0] => 1
            [1] => 1
            [2] => 3
        )

    [1] => Array
        (
            [0] => 1
            [1] => 2
            [2] => 3
        )

    [2] => Array
        (
            [0] => 2
            [1] => 2
            [2] => 2
            [3] => 3
        )

)

【讨论】:

  • 明白了!非常感谢! :-)))
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-16
  • 1970-01-01
  • 2012-09-06
  • 1970-01-01
  • 2016-10-04
  • 1970-01-01
相关资源
最近更新 更多