我当前的数组就像第一个图像,我的目标是让它像第二个图像一样,它更像索引而不是第一个图像,如何将第一个图像重新索引到第二个图像?我已在下面附上我的代码。我的索引不是从0开始的原因是因为变量$ i总是递增,我不知道除此之外的任何其他方式,如果你们有其他方式,请教我,我喜欢学习。谢谢!
while($res = mysql_fetch_array($r))
{
$data[$res['id_barang']][$i] = $res['id_rpph_detil'];
$i++;
}
echo "<pre>";
print_r($data);
echo "</pre>";
第一张图片
第二张图片
答案 0 :(得分:1)
只需使用[]
将项目推送到数组,如下所示:
while ($res = mysql_fetch_array($r))
{
// Initialize the element, if it is the first item
if (!isset($data[$res['id_barang']])) {
$data[$res['id_barang']] = array ();
}
// Push
$data[$res['id_barang']][] = $res['id_rpph_detil'];
}
答案 1 :(得分:0)
您不需要计数器变量,不需要迭代的提取调用。
结果对象(您应该更新代码以使用mysqli_
函数)是可迭代的,并且可以像关联数组一样访问列数据。
$data = [];
foreach ($r as $row) {
$data[$row['id_barang']][] = $row['id_rpph_detil'];
}
空括号语法告诉php使用新的索引/自动递增的键将新元素推入子数组。