1

この PHP 配列を取得して値を返すことができません。CSV シートは 10 個の数字で構成されています。私が得る唯一の出力は " array"です

$data = array();
if (($handle = fopen("fullbox.csv", "r")) !== FALSE) {
    while(($row = fgetcsv($handle, 1000, ",")) !== FALSE) {
        $data[] = $row;
    }
}

echo $data[1];

どんな助けでも大歓迎です。

4

3 に答える 3

3

あなたのコードはすでに正しいです。

$dataは多次元配列で、各要素は配列自体です。PHP に、より複雑な配列変数の文字列表現を書き込むように要求している場合echo $data[1]、PHParrayはその内容の代わりに出力することで処理します。

代わりに、var_dump()何が含まれているかを確認します。

var_dump($data);

次のような方法で単一の値にアクセスできます。

echo $data[1][0];

コメントの後に編集:

$row[0]CSV に行ごとに 1 つの値しか含まれていない場合は、1D 配列として取得するために、出力配列に追加するときに直接アクセスします。

if (($handle = fopen("fullbox.csv", "r")) !== FALSE) {
  while(($row = fgetcsv($handle, 1000, ",")) !== FALSE) {
    $data[] = $row[0];
  }
}
// $data is now a 1D array.
var_dump($data);
于 2012-07-12T15:34:58.647 に答える
0

$ data [1]は、$ data変数の2番目の要素です($ data [0]が最初の要素になります)。

値の代わりに配列を取得しているため、PHPは配列という単語をエコーし​​ています。

これはうまくいくはずです。

$data[0][0]

$ data変数は多次元配列であり、1レベルだけ深くなります。

于 2012-07-12T15:36:01.523 に答える
0

これは、$ data [1]CSV行の10個の数値の配列であるため、$dataが多次元配列になっているためです。 echo $data[1][0]数値の1つを出力します

于 2012-07-12T15:36:26.433 に答える