Web アプリで、ユーザーが csv ファイルをアップロードし、データベースに入れる途中でそれをチェックする必要があります。情報の一部は単純な階層データセットを形成するため、行が一意であることを確認したいと考えています。例を挙げて、私がやろうと思っていたことを次に示します。
CSV にはこれらの行が含まれています...
field5 field6 field7
fred bert apple
fred bert apple
fred george
fred george pear
will tom orange
will tom plum
このような PHP 配列にそれらを吸収するつもりでした。
$unique_fields = array();
while( $row = fgetcsv($handle) ){
if( $row[5] ){
if( !array_key_exists( $row[5] , $unique_fields ) ){
$unique_fields[ $row[5] ] = array();
}
if( $row[6] ){
if( !array_key_exists( $row[6] , $unique_fields[ $row[5] ] )){
$unique_fields[ $row[5] ][ $row[6] ] = array();
}
if( $row[7] ){
if( !array_key_exists( $row[7], $unique_fields[ $row[5] ][ $row[6] ] )){
$unique_fields[ $row[5] ][ $row[6] ][ $row[7] ] = array();
}
}
}
}
}
これが良いアイデアである場合 (そして私は提案を受け入れます) - その後の最善の方法は何ですか? 上記のcsvの例のように見えるように、配列をデータベースに転送したいが、重複はありません。