私が直面している問題は、あるforeachを別のforeach内で使用し、最初のforeachの配列に複数のエントリがある場合です。私がやりたいのは、配列1のすべてのエントリを配列2から除外することです。私はほとんどすべての関連する投稿に参加しており、自分で解決することはできません。可能であれば少し助けが必要です。英語が下手でごめんなさい。
例:
$choice
--->毎回ランダムな数のエントリを持つ配列(この例では2)
例:
/var/www/clients/client1/web1/web/images,/var/www/clients/client1/web1/web/tmp
$list
--->毎回ランダムな数のエントリの配列(この例では10000)
例:
/var/www/clients/client1/web1/web/images,/var/www/clients/client1/web1/web/tmp,/var/www/clients/client1/web1/web/includes,/var/www/clients/client1/web1/web/libraries,......
$list
常により多くのエントリがあります$choice
そして、私はここにこのコードを持っています:
foreach ( $choice as $select )
{
foreach ( $list as $file )
{
if ( (strpos( $file, $select )) !== false )
{
// exclude this
}
else
{
// include this
}
}
}
上記のコードは(残念ながら)次のようになります。
$select
手順1.エントリ1をすべてのエントリと比較し$file
ます。
$select
手順2.すべてのエントリからエントリ1を除外$file
し、$selectエントリ2を含めます。
ステップ3.$select
エントリー2をすべての$file
エントリーと比較します。
$select
手順4.すべてのエントリからエントリ2を除外$file
し、$selectエントリ1を含めます。
結果:除外されるものはありません。
どんな助けでも本当に感謝します。私は一週間ほどこれに取り組んでいます、私が試したのはそれらを裏返しにすることだけです私はアイデアから外れています。ありがとうございました。