如果我在while循环中回显,我得到4,2 values
,如果我在while循环之外回显,那么我只得到2
。我想将$row
中的数据放入values数组中。这段代码中缺少什么?
$query = oci_parse($con, "SELECT count(*) FROM Counter GROUP BY Blog_name");
oci_execute($query);
while($row = oci_fetch_array($query))
{
$s = $row[0].',';
$values = explode(',', $s);
echo $values[0]; // 4
echo $values[1]; // 2
}
echo $values[0]; // 2
echo $values[1]; // 2
答案 0 :(得分:2)
试试这个,
$Values = array();
while($row = oci_fetch_array($query))
{
$Values[] = $row[0];
}
echo $Values[0];
答案 1 :(得分:2)
首先,您使用它时的$值只是一个字符串,而不是一个数组。
尝试在while循环之前添加。
$values = array();
其次,这里真的没有必要使用爆炸,这是一个不必要的步骤。如果您只想要行中的第一列,则只需将该列添加到$ values即可。 (目前你在循环的每次迭代中都会覆盖$ values的内容,因为你错过了[]。)
$values[] = $row[0];
如果您尝试将每行中的所有列都放入值中,请尝试:
$values[] = $row;
如果您尝试将每列的内容单独放入$ value中的索引中,请尝试:
while($row = oci_fetch_array($query))
{
foreach($row as $column)
{
$values[] = $column;
}
}
答案 2 :(得分:1)
这样做:
$s = array();
while($row = oci_fetch_array($query)) {
$s[] = $row[0];
}
echo $s[0];
print_r($s);
答案 3 :(得分:0)
$query = oci_parse($con, "SELECT count(*) FROM Counter GROUP BY Blog_name");
oci_execute($query);
$values = array();
while($row = oci_fetch_array($query))
{
$values[] = $row[0];
}
print_r($values);