2015-08-27 240 views
1

我有點卡在我的PHP代碼的if語句。 我知道這可能是你們大多數人的一個基本問題,但我卡住了,我想要一些幫助。PHP如果語句邏輯

我有2個變量$ max和$ min,我必須與其他2個最大值和最小值名爲$ valor和$ minimo進行比較,以檢查它們是否在某處會合。 我基本上有一組值如min = 20和max = 30。

我想比較那些與其他最大值和最小值,並檢查值是否符合某處,如第二個的最小值是29.我希望它進入if語句。

這是我現在得到的聲明。 但它不工作,我不能得到它的邏輯。 有什麼幫助嗎?

編輯:添加了一個我想在評論中實現的例子。

if ($min >= $valor && $min <= $minimo || $max >= $valor && $max <= $minimo) 
    { 
     //Do nothing 
    } 
else 
    { 
     $queryq = "INSERT INTO precos_area (id_tecido,area_minima,area_maxima,preco) VALUES ('".$id_tipo."', '".$min."', '".$max."', '".$price."')"; 
     $resultsq = mysql_query($queryq) or die(mysql_error()); 
    } 
+0

|| $ max> = $ valor && $ max <= $ minimo)是否有最大值goig比valor更大並且小於minimo? – Minzkraut

+0

我的想法是從一個最大值和一個最小值開始,而不是與其他值相互交織。 想象一條線。一個最大值和一個最小值顯示要塗漆的部分。另一個顯示另一段必須塗上不同顏色的段。我的願望是,如果檢查他們是否曾經過,爲了做一個聲明,如果他們做 – Heatmanofurioso

回答

2

我有一種感覺,第二最大值和最小值是南轅北轍

if (($min >= $minimo && $min <= $valor) || ($max >= $minimo && $max <= $valor)) 

編輯 - 趕上那gview提到你應該同時檢查情況範圍。那麼這會趕上的情況下一個範圍完全是另一種範圍內: -

if (($min >= $minimo && $min <= $valor) 
|| ($max >= $minimo && $max <= $valor) 
|| ($minimo >= $min && $minimo <= $max) 
|| ($valor >= $min && $valor <= $max)) 
+0

解決了它!謝謝 – Heatmanofurioso

+2

那麼$ min <$ minimo AND $ max> $ valor的情況如何。在這種情況下線條重疊,但你的邏輯不會發現它是真的。那是問題嗎? – gview

1

使用

if (($min >= $valor && $min <= $minimo) || ($max >= $valor && $max <= $minimo)) 
+0

謝謝。我試着將它們分組。但它仍然無法正常工作。有人能幫我解釋一下這方面的邏輯嗎?我對我的主要問題進行了評論,進一步解釋我正在努力實現的目標 – Heatmanofurioso

+1

您是否可以在此處定義您的值。例如, –

+0

。 $ min是10,$ max是20.我想檢查$ minimo是否插入任何值,$ valor不會與這些值相交。有點像試圖用不同的顏色繪製2個不同的區域。他們不能在任何地方穿過。所以$ minimo不能在10到20之間,$ valor也不能在這些值中。 – Heatmanofurioso

0

我想你在找什麼是這樣的:

<?php 

$min = 10; 
$max = 20; 
$valor = 25; 
$minimo = 30; 

if (($min >= $minimo && $min <= $valor) || ($max >= $minimo && $max <= $valor)) { 
print "win"; 
} 

else { 
print "lose"; 
} 

?>