2012-04-06 16 views
1

私は使用する関数を持っていますが、この関数の内容はわかりません。私が知っている唯一のことは、この関数が連想配列の配列と配列のキーを返すことです。関数が返すデータはデータベースからのものです。この配列からデータを読み込む方法を教えてください。私は配列と混同しています。今の私はこれをやっている:PHPの連想配列の配列

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

私はエラーを取る:警告:は、mysql_fetch_array()は、パラメータ1は、で与えられたリソース、配列であることを期待...私は何かが欠けていることを知っているが、私は私ができる今までそれを修正しないでください。

+1

、私は本当に –

+0

こんにちは@ Dr.Kameleonそれは私も同じです...から開始する見当がつかないです。私は正確に何を知っているか書きました。私が知っているコードの部分は正しくありませんが、単なる試みです。 – anna

答えて

1

のような何か -

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

"関数が返すデータはデータベース" –

+0

@webbanditから来ていますが、データがすでに取得されているかどうかは不明です。質問者は配列を持ち、それを反復したいと思うようです。 – Jim

+0

@webbandit - OPは配列の配列を返すことを明示しています! – nnichols

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 ; 
     } 
    } 

} 
0

mysql_fetch_array()関数にリソース識別子を渡す必要があります。

ような何か:

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

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

機能は、なぜあなたはは、mysql_fetch_arrayでそれを使用している配列を返している場合。それは役に立たない。代わりにこれを使用してください

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

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

これは、配列全体を印刷します。 か短い方法はあなたのバージョンはとても不必要に困惑している

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