Tôi có một biến số $var
.PHP Nếu bản khai có nhiều điều kiện
Tôi muốn vang "true"
nếu $var
bằng bất kỳ giá trị sau abc
, def
, hij
, klm
, hoặc nop
. Có cách nào để làm điều này với một tuyên bố duy nhất như &&
??
Tôi có một biến số $var
.PHP Nếu bản khai có nhiều điều kiện
Tôi muốn vang "true"
nếu $var
bằng bất kỳ giá trị sau abc
, def
, hij
, klm
, hoặc nop
. Có cách nào để làm điều này với một tuyên bố duy nhất như &&
??
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
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';
}
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";
}
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';
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";
}
Bạn có thể thử này:
<?php
echo (($var=='abc' || $var=='def' || $var=='hij' || $var=='klm' || $var=='nop') ? "true" : "false");
?>
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"
-1 Wow! Bạn có biết bạn đã gây ra bao nhiêu chi phí không? Chúa ơi! –
Chưa kể đến các dấu phân tách còn thiếu trong mẫu. – SOFe
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';
}
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;
}
}
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";
}
yeah, in_array() là chính xác làm thế nào tôi muốn làm điều đó. –
Đây là những gì tôi cần :) Cảm ơn Chúa vì lưu trữ Stackoverflow;) –
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