Tôi muốn đi từ điều này:
if[$var == 3 || $var == 4 || $var == 5 || $var =='string' || $var == '2010-05-16'] {
// execute code here
}
với điều này:
if[$var == [3, 4, 5, 'string', '2010-05-16']] { // execute code here }
Có vẻ rất dư thừa để tiếp tục gõ
if[$var == [3, 4, 5, 'string', '2010-05-16']] { // execute code here }
2, và tôi thấy rằng nó làm cho nó hơi cồng kềnh khi đọc. Có cách nào trong PHP để đơn giản hóa nó theo cách này không? Tôi đọc trên một bài đăng ở đây rằng khi sử dụng XQuery, bạn có thể sử dụng toán tử = như trong if[$var == [3, 4, 5, 'string', '2010-05-16']] { // execute code here }
3, v.v.
Đã hỏi ngày 5 tháng 11 năm 2010 lúc 13:45Nov 5, 2010 at 13:45
0
Đặt các giá trị trong một mảng, sau đó sử dụng hàm in_array [] để kiểm tra xem chúng có tồn tại không.
$checkVars = array[3, 4, 5, "string", "2010-05-16"];
if[in_array[$var, $checkVars]]{
// Value is found.
}
//uk.php.net/manual/en/function.in-array.php
Đã trả lời ngày 5 tháng 11 năm 2010 lúc 13:47Nov 5, 2010 at 13:47
GreggreGreg
20.6K16 Huy hiệu vàng80 Huy hiệu bạc106 Huy hiệu đồng16 gold badges80 silver badges106 bronze badges
3
Nếu bạn cần thực hiện kiểm tra này rất thường xuyên và bạn cần hiệu suất tốt, đừng sử dụng tìm kiếm mảng chậm mà sử dụng tra cứu bảng băm nhanh thay vào đó: thay vào đó:
$vals = array[
1 => 1,
2 => 1,
'Hi' => 1,
];
if [isset[$vals[$val]]] {
// go!
}
Đã trả lời ngày 5 tháng 11 năm 2010 lúc 14:11Nov 5, 2010 at 14:11
NikicnikicNikiC
99,7K36 Huy hiệu vàng188 Huy hiệu bạc224 Huy hiệu đồng36 gold badges188 silver badges224 bronze badges
3
if [in_array[$var, array[3, 4, 5, 'string', '2010-05-16']]] {execute code here }
Hoặc, thay vào đó, một khối chuyển đổi:
switch [$var] {
case 3:
case 4:
case 5:
case 'string':
case '2010-05-16':
execute code here;
break;
}
Đã trả lời ngày 5 tháng 11 năm 2010 lúc 13:48Nov 5, 2010 at 13:48
Tdammerstdammertdammers
Huy hiệu vàng 20.1k11 gold badge37 silver badges56 bronze badges
1
Bạn có thể sử dụng
if[$var == [3, 4, 5, 'string', '2010-05-16']] { // execute code here }
4.if [in_array[$var, array[3,4,5,"string","2010-05-16"]]] { .... }
Hoặc bạn có thể sử dụng
if[$var == [3, 4, 5, 'string', '2010-05-16']] { // execute code here }
4if[in_array[$var,array[4,5,'string','2010-05-16',true]] {
}
Đã trả lời ngày 5 tháng 11 năm 2010 lúc 13:47Nov 5, 2010 at 13:47
GreggreMatTheCat
20.6K16 Huy hiệu vàng80 Huy hiệu bạc106 Huy hiệu đồng6 gold badges54 silver badges69 bronze badges
Nếu bạn cần thực hiện kiểm tra này rất thường xuyên và bạn cần hiệu suất tốt, đừng sử dụng tìm kiếm mảng chậm mà sử dụng tra cứu bảng băm nhanh thay vào đó: thay vào đó:
Đã trả lời ngày 5 tháng 11 năm 2010 lúc 14:11
Nikicnikic
$checkVars= [3 => true,
4 => true,
5 => true,
"string" => true,
"2010-05-16" => true];
if[isset[$checkVars[$var]]
{
// code here
}
99,7K36 Huy hiệu vàng188 Huy hiệu bạc224 Huy hiệu đồng: I have done some testing and it looks like this method is faster in most cases.
Hoặc, thay vào đó, một khối chuyển đổi:Jun 17, 2014 at 14:50
Đã trả lời ngày 5 tháng 11 năm 2010 lúc 13:48AbcAeffchen
Tdammerstdammer15 gold badges48 silver badges65 bronze badges
$vals = array [3, 4, 5, 'string', '2010-05-16'];
if[in_array[$var, $vals]] {
//execute code here
}
Đã trả lời ngày 5 tháng 11 năm 2010 lúc 13:47Nov 5, 2010 at 13:47
GreggreAndrew Sledge
20.6K16 Huy hiệu vàng80 Huy hiệu bạc106 Huy hiệu đồng2 gold badges27 silver badges30 bronze badges
Nếu bạn cần thực hiện kiểm tra này rất thường xuyên và bạn cần hiệu suất tốt, đừng sử dụng tìm kiếm mảng chậm mà sử dụng tra cứu bảng băm nhanh thay vào đó: thay vào đó:
if[$var == [3, 4, 5, 'string', '2010-05-16']] { // execute code here }
0Đã trả lời ngày 5 tháng 11 năm 2010 lúc 14:11
if[$var == [3, 4, 5, 'string', '2010-05-16']] { // execute code here }
1NikicnikicFeb 14, 2014 at 21:32