我有一個main.txt文件,其中包含以下合併:PHP轉換文本文件陣列與另一個陣列
14573
23903
19800
:包含以下
new featuredProduct('', '25844'),
new featuredProduct('', '19800'),
new featuredProduct('', '23869'),
new featuredProduct('', '23903'),
new featuredProduct('', '14573'),
new featuredProduct('', '7949'),
new featuredProduct('', '13815'),
new featuredProduct('', '27042'),
new featuredProduct('', '24383'),
我也trim.txt文件
我試圖將trim轉換成與main相同的格式,將兩者合併爲一個數組,然後用array_unique過濾出重複項。
我已經試過:
$main = array_unique(file("main.txt", FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES));
$trim = array_unique(file("trim.txt", FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES));
//formats trim to the same as main
foreach ($trim as $m) {
$m = "new featuredProduct('', ". "'". urlencode(trim($m)) ."')" . "," . "\n<br />";
echo $m;
}
//merge into one array
$t = (array) $m;
$res = array_unique(array_merge($t, $main));
foreach ($res as $re) {
echo $re . "<br>";
}
我的結果:
我得到以下輸出:
new featuredProduct('', '25844'),
new featuredProduct('', '23903'),
new featuredProduct('', '19800'),
new featuredProduct('', '25844'),
new featuredProduct('', '19800'),
new featuredProduct('', '23869'),
new featuredProduct('', '23903'),
new featuredProduct('', '14573'),
new featuredProduct('', '7949'),
new featuredProduct('', '13815'),
new featuredProduct('', '27042'),
new featuredProduct('', '24383'),
因此,大家可以看到這兩個數組顯示,但他們沒有合併和顯示獨特的價值觀。
我認爲出現問題的是,只要我循環$ trim並分配給$ m,它就不再是一個數組了。我曾嘗試將$ m分配給數組$ t ..
$t = (array) $m;
然後將$ t傳遞給array_merge函數,但這不起作用。
所以我的問題是如何使$ m數組工作,並可以傳遞給array_merge()因此允許我顯示合併數組中的唯一值?
乾杯
爲什麼你需要在代碼周圍存儲代碼?從代碼中分離數據並存儲數字似乎更符合邏輯。然後,無論您需要什麼,都可以使用它們。 – jeroen
從你的第一個'foreach'循環中取出'echo' –
首先將$ m加到最後一個$ m,然後用split(「\ n」,$ m)將變量$ m與「\ n」 ;之後。它會返回一個數組。 –