我需要比較一個PHP變量與600 +靜態值。例如, $ validpostcode是一個變量。並有600多個有效的郵政編碼。是否有任何方式mangae大量(600+)如果條件
現在我需要檢查$ validpostcode是否存在於郵編列表中。 什麼是最好的比較方式?
我需要比較一個PHP變量與600 +靜態值。例如, $ validpostcode是一個變量。並有600多個有效的郵政編碼。是否有任何方式mangae大量(600+)如果條件
現在我需要檢查$ validpostcode是否存在於郵編列表中。 什麼是最好的比較方式?
如果你有郵政編碼爲數組,你可以使用in_array方法,像這樣:
$postcodes = array(// Postcodes here);
$validpostcode = "POSTCODE";
if(in_array($validpostcode, $postcodes)){
//Postcode is in the array
}
祝你好運!
另外是的,如果你每次都要編寫郵編,那麼將它們存儲在數據庫中,然後使用MYSQL查詢將它們全部抓到數組中,然後使用上面的方法。
謝謝,克里斯,我有CSV格式的郵政編碼列表,我只是將它們轉換成數組,它完美地工作。 – Hem
我能想到的最快方法是使用isset()
。當然你可以使用in_array
和array_intersect
但是它們比檢查密鑰是否存在更重。
在這裏你去:
$codes = array_fill_keys(array('code1', 'code2'), 0);
$tocheck = 'code1';
if (isset($codes[$tocheck])) {
echo 'valid';
} else {
echo 'nope';
}
參考執行時間的測試對比:Faster array lookup
絕對'in_array()' – Rizier123
您可以存儲在MySQL表和查詢 – Tristan
的郵政編碼我猜沒有按郵政編碼經常改變,而且你經常在你的網頁上這樣做,如果是這樣,特里斯坦有正確的想法,將郵政編碼存儲在數據庫中,並檢查是否存在。 – adeneo