想在php中组合多个数组

时间:2010-06-26 07:15:56

标签: php arrays

我想做这种类型

在我的表单中我有复选框数组和我想调用的函数作为复选框数组的大小, 现在一切都很简单,只需一次打电话。

但是我想调用上面的函数, 并将函数返回值存储在一个数组中

作为函数返回数组,所以我想这样做 此

用户ID 1-> callfunction返回数组
用户ID 2-> callfunction返回数组 .... ....

我尝试使用array_push,但我没有得到任何结果

这是我的代码

$track = array();

for($i=0;$i<sizeof($usr);$i++)
        {
            if (!empty($start) and !empty($end))
            {

                $track_e = $tracker->getProjectTrack($id, $usr[$i], $taski, $start, $end);

                //$track = $tracker->getProjectTrack($id, $usr, $taski, $start, $end);
            }

            $track=array_push($track,$track_e);

        }

3 个答案:

答案 0 :(得分:2)

如果你想通过数组,请使用foreach

$track = array();
if (!empty($start) and !empty($end)){  
 foreach ($usr as $u){
  array_push($track,$tracker->getProjectTrack($id, $u, $taski, $start, $end);
 }
}

答案 1 :(得分:1)

<强> 解决方案:

$track=array_push($track,$track_e);

array_push不返回数组;它返回数组中新的元素数,修改它作为参数就地接收的数组。实际上写起来要容易得多:

$track []= $track_e;

<强> 建议:

for($i=0;$i<sizeof($usr);$i++) {
    # ...
    $track_e = $tracker->getProjectTrack($id, $usr[$i], $taski, $start, $end);

为什么不简化索引$usr的过程并计算其中元素的数量,如下所示:

foreach ($usr as $usr_elem) {
    # ...
    $track_e = $tracker->getProjectTrack($id, $usr_elem, $taski, $start, $end);

答案 2 :(得分:0)

数组([0] =&gt;数组([0] =&gt; 5)[1] =&gt;数组([0] =&gt; 6)[2] =&gt;数组([0] =&gt; ; 7))

而不是它返回

数组([0] =&gt;数组([0] =&gt;数组([0] =&gt; 7))[1] =&gt;数组([0] =&gt;数组([0] = &gt; 9)))

类似的东西

所以我想把它作为第一个返回。