我面臨的問題是當我在另一個內部使用一個foreach,並且第一個foreach的數組有超過1個條目。我想要做的是從數組2中排除數組1的所有條目。我幾乎已經在所有相關的帖子上,無法自己解決它,如果可能,我需要一些幫助。對不起,我的英語不好。與數組嵌套的foreach -php
實施例:
$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
}
}
}
什麼上面的代碼會做(不幸)是:
步驟1.將比較$select
入口1和全部$file
入口。
第2步。將從所有$file
條目中排除$select
條目-1,並將包括$ select條目-2。
第3步。將$select
條目-2與所有$file
條目進行比較。
第4步。將從所有$file
條目中排除$select
條目2,並將包括$ select條目-1。
結果: 沒有排除。
任何幫助真正讚賞。我在這上了一個星期,我所嘗試過的所有東西都是把它們放在裏面,我沒有想法。 謝謝。
您可以提供兩個數組的例子嗎? – Biotox 2012-08-06 22:20:18
另一個考慮是數據來自何處。如果您是通過查詢獲得這些數據的,那麼利用數據庫的功能來實現這一點可能會更加簡潔。需要更多信息! – bpeterson76 2012-08-06 22:25:01
我不確定你真的想要待辦事項,但是曾經使用'continue'內部循環?它將允許你繞過當前循環而不做任何更多的動作 – Hawili 2012-08-06 22:28:07