2011-04-08 32 views

Trả lời

32
if($var == "abc" || $var == "def" || ...) 
{ 
    echo "true"; 
} 

Sử dụng "Hoặc" thay vì "Và" sẽ trợ giúp ở đây, tôi nghĩ rằng

11

bạn có thể sử dụng in_array chức năng của php

$array=array('abc', 'def', 'hij', 'klm', 'nop'); 

if (in_array($val,$array)) 
{ 
    echo 'Value found'; 
} 
84

Một cách thanh lịch đang xây dựng một mảng một cách nhanh chóng và sử dụng in_array():

if (in_array($var, array("abc", "def", "ghi"))) 

Các switch statement cũng là một sự lựa chọn:

switch ($var) { 
case "abc": 
case "def": 
case "hij": 
    echo "yes"; 
    break; 
default: 
    echo "no"; 
} 
+1

yeah, in_array() là chính xác làm thế nào tôi muốn làm điều đó. –

+1

Đây là những gì tôi cần :) Cảm ơn Chúa vì lưu trữ Stackoverflow;) –

+1

Tôi thề trong php3 tôi thường làm nếu ($ var == 'abc' | 'xyz' | 'cbs') có lẽ đó chỉ là một giấc mơ : p – nodws

11

Không biết, tại sao bạn muốn sử dụng &&. Có một giải pháp dễ dàng hơn

echo in_array($var, array('abc', 'def', 'hij', 'klm', 'nop')) 
     ? 'yes' 
     : 'no'; 
4

bạn có thể sử dụng toán tử boolean hoặc: ||

if($var == 'abc' || $var == 'def' || $var == 'hij' || $var == 'klm' || $var == 'nop'){ 
    echo "true"; 
} 
3

Bạn có thể thử này:

<?php 
    echo (($var=='abc' || $var=='def' || $var=='hij' || $var=='klm' || $var=='nop') ? "true" : "false"); 
?> 
-9

Tôi không biết nếu $ var là một chuỗi và bạn muốn tìm chỉ những biểu hiện nhưng ở đây nó đi một trong hai cách.

Cố gắng sử dụng preg_match http://php.net/manual/en/function.preg-match.php

if(preg_match('abc', $val) || preg_match('def', $val) || ...) 
    echo "true" 
+7

-1 Wow! Bạn có biết bạn đã gây ra bao nhiêu chi phí không? Chúa ơi! –

+0

Chưa kể đến các dấu phân tách còn thiếu trong mẫu. – SOFe

1

Hãy thử đoạn mã này:

$first = $string[0]; 
if($first == 'A' || $first == 'E' || $first == 'I' || $first == 'O' || $first == 'U') { 
    $v='starts with vowel'; 
} 
else { 
    $v='does not start with vowel'; 
} 
0

Nó sẽ là tốt để sử dụng mảng và so sánh mỗi giá trị 1 của 1 trong vòng lặp. Lợi thế của nó để thay đổi độ dài của mảng thử nghiệm của bạn. Viết một hàm lấy 2 tham số, 1 là mảng thử và một là giá trị cần kiểm tra.

$test_array = ('test1','test2', 'test3','test4'); 
for($i = 0; $i < count($test_array); $i++){ 
    if($test_value == $test_array[$i]){ 
     $ret_val = true; 
     break; 
    } 
    else{ 
     $ret_val = false; 
    } 
} 
0

tôi thấy phương pháp này làm việc cho tôi:

$thisproduct = "my_product_id"; 
$array=array("$product1", "$product2", "$product3", "$product4"); 
if (in_array($thisproduct,$array)) { 
    echo "Product found"; 
} 
Các vấn đề liên quan