文字列を配列と比較して、文字列が配列に存在するかどうかを確認しようとしています。存在する場合は、'配列'にエコーします。配列の最後のエントリで必要なだけエコーを機能させることができます。
foreach($array as $key => $value) {
foreach($entries as $entry) {
if($entry == $value) echo 'in array 1';
}
if (in_array($value, $entries)) {
echo 'in array 2';
}
if(isset($entries[$value])) {
echo 'in array 3';
}
}
'inarray1'および'inarray 2'のエコーは$entries配列の最後のエントリでのみ機能し、'inarray3'のエコーはまったく機能しません。
それはおそらく愚かなことですが、私はそれを見ていません...
編集:
これが配列のいくつかの例です
$entries =
array(5) {
[0]=>
string(14) "example text 1"
[1]=>
string(14) "example text 2"
[2]=>
string(14) "example text 3"
[3]=>
string(14) "example text 4"
[4]=>
string(14) "example text 5"
}
$array =
array(5) {
[0]=>
string(14) "example text 1"
[1]=>
string(14) "example text 2"
[2]=>
string(14) "example text 3"
[3]=>
string(14) "example text 7"
[4]=>
string(14) "example text 8"
}
だから今私がするとき
foreach($array as $key => $value)
$valueには$arrayの値が含まれている必要があり、これらの値をそれぞれ比較して、$entries配列に存在するかどうかを確認する必要があります。もしそうなら、idは'配列'にエコーしたい
編集2:
違いが生じる場合は、情報がログから取得されているため、$entries配列がfile()によって作成されています。新しいファイルが追加されるたびにログに記録されます。次に、受信ファイルをログと比較し、それらがすでに追加されているかどうかを判断し、追加されていない場合は追加します。