在我們的數據庫中,我們有一個表格是來自三個表格的每個排列結果。檢測多維數組中的新排列
我正在嘗試編寫一個PHP腳本,它將把所有這些表視爲數組,並檢測是否存在缺失的置換。
例如
$foo = array('one', 'two', NULL)
$bar = array('three', 'four', NULL)
$baz = array('five', 'six', NULL)
$permutations = array(
array('one', 'three', 'five'),
array('two', 'three', 'five'),
array(NULL, 'three', 'five'),
//etc
)
foreach $foo as $x
foreach $bar as $y
foreach $baz as $z
$combo = array($x, $y, $z)
if $combo is not in $permutations
//generate sql to update db
我該如何做到這一點?
如果你有X個表格,每個表格都有Y個元素(??),那麼如果這是一個「重複排列」,那麼你將有X^Y個排列。所以,一個快速的煙霧測試會確保'$ permutations'的長度與X^Y相同(或者任何集合的範圍*應該是)......你也可以做一些事情來確保$ permutations有在進行長度檢查之前,只有唯一的元素。這可能比檢查每一個可能的排列更有效。 – wilkesybear 2015-02-24 01:37:06