如果我有這樣的代碼:搜索變量數組()
$result = 1;
$square = array(
"00" => -1,
"0" => 0,
"1" => 1,
);
並想知道$結果是否等於任何$平方米的數組值(-1,0或1)。
我猜測應該有一個函數將一個變量與所有數組的值進行比較,並相應地修改TRUE或FALSE。
如果有isn't這樣的功能我願意接受你可能已經在你的袖子:)
由於隱藏任何建議和/或變通方法提前
如果我有這樣的代碼:搜索變量數組()
$result = 1;
$square = array(
"00" => -1,
"0" => 0,
"1" => 1,
);
並想知道$結果是否等於任何$平方米的數組值(-1,0或1)。
我猜測應該有一個函數將一個變量與所有數組的值進行比較,並相應地修改TRUE或FALSE。
如果有isn't這樣的功能我願意接受你可能已經在你的袖子:)
由於隱藏任何建議和/或變通方法提前
您正在尋找in_array()
:
$result = 1;
$square = array("00" => -1, "0" => 0, "1" => 1,);
if (in_array($result, $square)) {
echo "Found something!";
}
if(array_search($result,$square)===false) { echo "DNE"; }
注意===
!
編輯:切換功能參數 - 對不起
@meagar,他沒有使用'in_array'。 – 2010-10-19 04:26:40
看起來像'in_array'雖然很簡短。 – Ben 2010-10-19 04:27:39
有一個PHP函數,將做到這一點。它被稱爲array_search();
爲了您上面的代碼,你會使用
if(false !== array_search($square, $result)){
echo "Found something";
}
到文檔的鏈接,可以發現here。查看代碼示例的底部。
如果你的陣列將是大(> 500元),你會想這樣做:
$flip_square = array_flip($square);
return isset($flip_square["string_to_search_for"]);
如果你不這樣做,也可以是死一般緩慢。這比in_array()
快很多倍。
像魅力一樣工作。非常感謝你! – Trufa 2010-10-19 04:33:17