1014,ベビー用品
1014-1030,ベビー用品>授乳・離乳用品
1014-1030-1031,ベビー用品>授乳・離乳用品>授乳・哺乳用品
1014,ベビー用品
1014-1023,ベビー用品>衣服
1014,ベビー用品
1014-1027,ベビー用品>靴
を
2.csvのファイル
1014,ベビー用品
1014-1030,ベビー用品>授乳・離乳用品
1014-1030-1031,ベビー用品>授乳・離乳用品>授乳・哺乳用品
1014-1023,ベビー用品>衣服
1014-1027,ベビー用品>靴
と並び替えしたいのです。
phpで
<?php
$fcat0=fopen("1.csv","r");
touch("2.csv");
$fcat1=fopen(2.csv","w+");
$aryDat=fgetcsv($fcat0);
asort($aryDat);
while($aryDat=fgetcsv($fcat0)){
fwrite($fcat1,$aryDat[0].",");
fwrite($fcat1,$aryDat[1]."\n");
}
fclose($fcat0);
fclose($fcat1);
?>
などと考えてみましたが、うまく動きません。
おしえてください。
並び替えといっても、作成する2.csvが順番になっていませんが、重複する「1014,ベビー用品」を削除出来ればいいのでしょうか?
もしそうなのでしたら、file()で開いて、array_unique()で重複するデータを削除してはいかがでしょう。
<?php
$aryDat = file("1.csv");
$aryDat = array_unique($aryDat);
touch("2.csv");
$fcat1=fopen("2.csv","w+");
foreach($aryDat as $value){
fwrite($fcat1,$value);
}
fclose($fcat1);
?>
もしも以下のように順番にしたいのでしたら、さらにsort()でソートしてください。
1014,ベビー用品
1014-1023,ベビー用品>衣服
1014-1027,ベビー用品>靴
1014-1030,ベビー用品>授乳・離乳用品
1014-1030-1031,ベビー用品>授乳・離乳用品>授乳・哺乳用品
// 処理部分に以下のように追加します。
$aryDat = array_unique($aryDat);
sort($aryDat);
重複行の削除じゃないのかな?
ポイント&いるかをありがとうございました。(^^)