将数据存储到数组变量php中

时间:2014-05-03 18:13:14

标签: php arrays

如果我在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

4 个答案:

答案 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);