我有一个非常简单的问题。
我有一个看起来像这样的数组。
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>
答案 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()。但是这个函数只适用于数组。