我尝试将一些值插入数组中,但我不知道为什么我丢失了一些值
这是我现在正在使用的代码:
site.eu/folder1/file1/?lang=cs
输出:
site.cz/folder1/file1/
我从数组中丢失了一些值:
<pre><code>
<?php
include 'config/connections.php';
$SQL = "SELECT * FROM table";
$result = $db->query($SQL) or die("Couldn't execute
query.".mysqli_error($db));
$numresult=$result->num_rows;
for ($i=0; $i<$numresult; $i++)
{
$row = $result->fetch_assoc();
$c['id'] = 'H'.$i;
$c['start']= date("Y-m-d");
$a[$i] = $c;
for ($j=1; $j<4; $j++)
{
$c['id'] = 'H'.$i;
$c['start']= date('Y-m-d', strtotime("+".$j." days"));
array_push($a,$c);
}
}
echo json_encode($a);
?>
</pre></code>
非常感谢在这方面的任何帮助!谢谢!
答案 0 :(得分:2)
在第一次循环迭代中,创建$a[0]
,然后第二次循环迭代,为$a
数组添加3个元素,从而创建$a[1]
到$a[4]
。< / p>
在第二个外部迭代中,$a[1]
被覆盖,内部用于将$a[5]
添加到$a[7]
。
迭代的第三个外部覆盖$a[2]
,依此类推。
你可以这样做你想做的事:
<?php
include 'config/connections.php';
$SQL = "SELECT * FROM table";
$result = $db->query($SQL) or die("Couldn't execute query.".mysqli_error($db));
$numresult=$result->num_rows;
$a = array();
for ($i=0; $i<$numresult; $i++)
{
$row = $result->fetch_assoc();
for ($j=0; $j<4; $j++)
{
$c['id'] = 'H'.$i;
$c['start']= date('Y-m-d', strtotime("+".$j." days"));
array_push($a,$c);
}
}
echo json_encode($a);
?>