PHP中的关联数组数组

时间:2012-04-06 11:49:05

标签: php mysql

我有一个使用的功能,但我不知道这个功能的内容。我唯一知道的是该函数返回一个关联数组数组和数组的键。函数返回的数据来自数据库。你能帮忙学习如何从这个数组中读取数据吗?我对数组感到困惑。现在我这样做:

$array = myfunction($var);
if(!empty($array))
{
    while($row = mysql_fetch_array($array))
    {
        print"$row[elem1]
        $row[elem2]";
    }
}

我接受了错误:警告:mysql_fetch_array()期望参数1是资源,在...中给出的数组我知道有些东西丢失了,但直到现在我无法修复它。

4 个答案:

答案 0 :(得分:2)

如果函数返回一个数组,那你为什么要在mysql_fetch_array中使用它呢?这没用。而是使用这个

foreach($array as $key => $value){

   echo $key;
   echo '<br>';
   echo $value;
}

这将打印整个数组。 或者简短的方法是

echo '<pre>';
print_r($array);
echo '</pre>';

答案 1 :(得分:1)

像 -

$array = myfunction($var);
foreach($array as $key => $row) {
    print"{$row['elem1']} {$row['elem2']}";
}

答案 2 :(得分:0)

错误是正确的..问题不是php中的关联数组,但是你没有使用有效的mysql资源

请参阅http://php.net/manual/en/function.mysql-fetch-array.php了解文档

示例

$mysqli = new mysqli("localhost","root","","test");
$result = $mysqli->query("SELECT * FROM test");
$row = array() ;
echo "<pre>" ;
if($result->num_rows > 0)
{
    while($row = $result->fetch_array(MYSQLI_NUM))
    {
            print implode (",", $row) . PHP_EOL;

    }

}

或者

$array = myfunction($var);
if(!empty($array))
{
    foreach($array as $key => $row)
    {
        if(is_array($row))
        {
            print implode (",", $row) . PHP_EOL;
        }
        else
        {
            print $row . PHP_EOL ;
        }
    }

}

答案 3 :(得分:0)

您必须将资源标识符传递给mysql_fetch_array()函数。

类似的东西:

$sql = mysql_query('SELECT * FROM `table`');
if(!empty($array)) {

 while($row = mysql_fetch_array($array)) {
        print"$row[elem1]
        $row[elem2]";
 }
}