私はCSVを読み込もうとしていますが、CSVは2行あり、User-Inputと比較されます。この入力は、ユーザーが選択するIDの配列です($ talente)。 idの配列が分割され、スクリプトはCSVを開き、IDの行を読み込みます。それはうまくいくが、CSVを1行ずつ別の1次元配列に読み込む。しかし、私はすでに行が配列である必要があるので、最後に2次元配列を取得します。PHPでCSVラインを2次元配列として取得しようとしています
私のスクリプトは、これまでのようになります。
<?php
$talente = $_GET['talente'];
$talentline = array();
$i = 0;
$myFile = fopen("talente.csv", "r");
foreach ($talente as $talent) {
if ($talent == $i+1) {
while (($data = fgetcsv($myFile, 1000, ",")) !== FALSE) {
$num = count($data);
for ($c=0; $c < $num; $c++) {
$talentline[][] = $data[$c];
}
//$talentline[] = $lines[$i];
}
fclose($myFile);
}
$i++;
}
print_r(array_values($talentline));
/*echo $talentline[1];
echo $talentline[2];
*/
?>
結果はこれまでのすべての要素を持つすべての行であるが、代わりに2次元の1次元配列で:
Array ([0] => Array ([0] => Schild) [1] => Array ([0] => 1) [2] => Array ([0] => Licht) [3] => Array ([0] => 1w10) [4] => Array ([0] => -) [5] => Array ([0] => Schutz) [6] => Array ([0] => 1) [7] => Array ([0] => Licht) [8] => Array ([0] => 1w10) [9] => Array ([0] => -) [10] => Array ([0] => Licht) [11] => Array ([0] => 4) [12] => Array ([0] => Licht) [13] => Array ([0] => 1w10) [14] => Array ([0] => -) [15] => Array ([0] => Genesung) [16] => Array ([0] => 1) [17] => Array ([0] => Licht) [18] => Array ([0] => -) [19] => Array ([0] => -) [20] => Array ([0] => Aufopfern) [21] => Array ([0] => 1) [22] => Array ([0] => Licht) [23] => Array ([0] => -) [24] => Array ([0] => -))
Try'fgetcsv() '? https://secure.php.net/manual/en/function.fgetcsv.php – jedifans
http://php.net/manual/en/function.fgetcsv.phpを見てください –
私が最初に試したことは、どういうわけか行の要素を2次元配列にする代わりに1つの配列にします。 –