从数组PHP导出数据

时间:2016-01-08 15:40:47

标签: php arrays

我有一个非常简单的问题。

我有一个看起来像这样的数组。

array(
(int) 0 => array(
    'id' => '14',
    'user_id' => '39',
    'price_id' => '6',
    'count' => '3',
    'created' => '2015-11-10 16:42:26'
),
(int) 1 => array(
    'id' => '20',
    'user_id' => '47',
    'price_id' => '6',
    'count' => '1',
    'created' => '2015-11-10 18:00:44'
),
(int) 2 => array(
    'id' => '22',
    'user_id' => '45',
    'price_id' => '6',
    'count' => '1',
    'created' => '2015-11-10 18:16:22'
),
(int) 3 => array(
    'id' => '24',
    'user_id' => '35',
    'price_id' => '6',
    'count' => '2',
    'created' => '2015-11-10 18:19:32'
)
);

我需要将其导出为一个新的数组,我可以看到第一个例子,因为' count'是3点。

我做了一个简单的SELECT * FROM my_table where price_id = 6;

但是当它开始变得混乱时,就是当我尝试创建相同阵列的3倍时。

$participants = array();

        for ($i=0; $i < sizeof($giveaway) ; $i++) { 

            $participants[] = $giveaway[$i]['Winners'];

            $nbreparticipations = $giveaway[$i]['Winners']['count'];

            for ($j=0; $j < sizeof($nbreparticipations); $j++) {

                $participants[$i][] = $j;
            }

        }

在决赛中,它看起来像这样(jsFiddle

<table border="1">

<tr>
  <td>id</td>
  <td>user_id</td>
</tr>

<tr>
  <td>1</td>
  <td>39</td>
</tr>
<tr>
  <td>2</td>
  <td>39</td>
</tr>
<tr>
  <td>3</td>
  <td>39</td>
</tr>
<tr>
  <td>4</td>
  <td>47</td>
</tr>
<tr>
  <td>5</td>
  <td>45</td>
</tr>
<tr>
  <td>6</td>
  <td>35</td>
</tr>
<tr>
  <td>7</td>
  <td>35</td>
</tr>
</table>

1 个答案:

答案 0 :(得分:0)

我刚刚看到了我的错误。

这是我的新代码。

$participants = array();
$new_participations = array();

    for ($i=0; $i < sizeof($giveaway) ; $i++) { 

        $participants[] = $giveaway[$i]['Winner'];

        $nbreparticipations = $giveaway[$i]['Winner']['count'];
        $user_id = $giveaway[$i]['Winner']['user_id'];

        for ($j=0; $j < $nbreparticipations; $j++) {

            $new_participations[] = $giveaway[$i]['Winner'];
        }

    }

我开始为第二个();

创建一个新的数组()

之后,我得到了我的参与次数,但在第二次()中,我使用的是sizeof()。但是这个函数只适用于数组。