を与えているこれが私のファイルspectrum_info.txt
の内容は次のとおりです。array_diff()は、予期しない情報
raid,spectrum/raid_info.txt
rbid,spectrum/rbid_info.txt
rcid,spectrum/rcid_info.txt
rdid,spectrum/rdid_info.txt
reid,spectrum/reid_info.txt
私はからfile_names
情報を入れ
$s_types=file('spectrum/spectrum_info.txt');
$i=0;
foreach($s_types as $s_type)
{
$s_arrfields = explode(',', $s_type);
$s_names[] = $s_arrfields[0];
$sf_names[] = $s_arrfields[1];
}
コードの下に使用して、このファイルのデータをロードする場合上記のファイルを$sf_names
配列に置き換えます。 手動Iは、同じデータを有する一つの他の配列を作成した:
$f_temp=array("spectrum/raid_info.txt",
"spectrum/rbid_info.txt",
"spectrum/rcid_info.txt",
"spectrum/rdid_info.txt",
"spectrum/reid_info.txt",
"spectrum/rfid_info.txt",
"spectrum/rgid_info.txt",
"spectrum/rhid_info.txt");
print_r($f_temp);
echo"<br/>";
print_r($sf_names);
echo"<br/>";
$result=array_diff($f_temp,$sf_names);
print_r($result);
両方の配列が同じデータを持っています。まだarray_diff()
は、すべての配列要素が異なるものとして示しています。
私は$sf_names
ファイル情報を使用してその特定のファイルからデータを読み取ると、以下のエラーが発生するため、これを試しています。
警告:ファイル(スペクトル/ raid_info.txt):ストリームをオープンに失敗しました:無効な引数
は、手動で配列を作成したに等しいファイルからロードされたデータを変更する方法としてarray_diff()
に関する私を助けてください。これは、上記のエラーを解決するのに役立ちます。ありがとう。
参照最初 – nogad
RTFM:[ファイル()](http://php.net/manual/en/function.file.php ) '戻り値:...配列の各要素は、ファイル内の行に対応し、改行はまだ残っています。' array_diffは完全に動作していますが、 '' foo "==" foo \ n "' –
@MarcBファイルを開くことさえできないように見えます。 – Mike