1

私はこれを行うphpスクリプトを持っています:

  • UPCをフォームに入れる
  • フォームを送信
  • UPCがデータベースにすでに存在するかどうかを確認します
    • はいの場合、MySQLデータベースからフェッチします
    • そうでない場合は、外部サーバーからフェッチし、将来使用するためにMySQLデータベースに追加します
  • 結果を表示する

正常に動作しますが、変数がMySQLキャッシュからのものか、外部サーバーからのものかをまったく同じに見せたいと思います。

サーバーから印刷すると、次のようになります。

出力:

[upc] => 066721020215
[pendingUpdates] => 0
[status] => success
[ean] => 0066721020215
[issuerCountryCode] => us
[found] => 1
[description] => Christie - Original Ritz Crackers
[message] => Database entry found
[size] => 225 g
[issuerCountry] => United States
[noCacheAfterUTC] => 2012-08-06T12:23:58
[lastModifiedUTC] => 2009-04-06T01:51:08

ただし、MySQLから配列を印刷すると、次のようになります。

$result = mysql_query("SELECT * FROM UPC WHERE `upc` = '$codes[0]'");
$data = mysql_fetch_array($result);
echo "<pre>" . print_r($data, true) . "</pre>";

出力:

[0] => 066721020215
[upc] => 066721020215
[1] => 0
[pendingUpdates] => 0
[2] => success
[status] => success
[3] => 0066721020215
[ean] => 0066721020215
[4] => us
[issuerCountryCode] => us
[5] => 1
[found] => 1
[6] => Christie - Original Ritz Crackers
[description] => Christie - Original Ritz Crackers
[7] => Database entry found
[message] => Database entry found
[8] => 225 g
[size] => 225 g
[9] => United States
[issuerCountry] => United States
[10] => 2012-08-06
[noCacheAfterUTC] => 2012-08-06
[11] => 2009-04-06
[lastModifiedUTC] => 2009-04-06

私はそれが多かれ少なかれ見た目の違い(そして必要な2倍の大きさの配列)であることを理解していますが、配列の作成と手動でループすることなく、0、1、2、3などの識別子を簡単に削除するにはどうすればよいですか?新しいものを作成しますか?番号付きの識別子を削除する機能はありますか?

4

2 に答える 2

2

mysql_fetch_array($result, MYSQL_ASSOC)またはを使用する必要がありますmysql_fetch_assoc($result)

詳細については、http: //php.net/manual/en/function.mysql-fetch-array.phpおよびhttp://www.php.net/manual/en/function.mysql-fetch-assoc.phpを参照してください。

新しい(ish)mysqli関数に置き換えられているため、どちらも推奨されないことに注意してください:http: //uk.php.net/manual/en/book.mysqli.php

于 2012-08-05T18:38:19.117 に答える
2

行を変更します。

$data = mysql_fetch_array($result);

に:

$data = mysql_fetch_assoc($result);

mysql_fetch_assocdbからのデータを連想配列としてmysql_fetch_array返します-数値インデックスと連想インデックスの両方を含む混合配列を返します。

http://php.net/manual/en/function.mysql-fetch-assoc.phpを参照してください

于 2012-08-05T18:39:01.480 に答える