2016-06-13 2 views
0
$Variable = "Dog" 

if($Variable == "Cat"){ 
    do stuff 
} 
elseif($Variable == "Goat"){ 
    do other stuff 
} 
elseif($Variable == "Cash"){ 
    Run some other stuff 
} 

Как я хотел бы написать код, чтобы сказать эхо «привет», если и только если одна из утверждений верны? Мой вопрос: мне нужно написать эхо «привет» внутри каждого утверждения? или я могу сохранить строки, сделав это определенным образом?Выполнить код только если IF и ELSEIF Заявление Run

+2

1) Вы знаете, что '=' - это задание, а не сравнение ?! 2) Либо напишите оператор if, который объединяет все условия оператором OR, либо помещает его в каждый оператор if. – Rizier123

+0

Дуп для JS, но имеет то же значение для PHP. –

+1

@MarcB Дуп для PHP;), он просто помечается JS, вероятно, потому что он почти такой же. Я думаю, что OP просто хочет вывести что-то, когда одно из трех условий, которые у него есть, истинно (но вопрос и название вопроса немного противоречивы). – Rizier123

ответ

2

Для этого нет специальной структуры управления, но существует несколько способов достижения этой цели, без необходимости писать echo 'hi'; три раза. Это отчасти вопрос вкуса и отчасти вопрос реальной ситуации. Например, если вы просто говорите «привет», все это не имеет особого значения, но если вы хотите сделать что-то сложное, это другая история. Несколько предложений:

1. Написать другой, если/другое положение

if ($variable == "Cat" || $variable == "Dog" || $variable == "Goat") { 
    echo 'hi!'; 
} 

2. Используйте еще, чтобы исключить

$say_hi = true; 

if($Variable == "Cat"){ 
    // do stuff 
} else if($Variable == "Dog"){ 
    // do other stuff 
} else if($Variable == "Goat"){ 
    // do whatherever 
} else { 
    $say_hi = false; 
} 

if ($say_hi) { 
    echo 'hi'; 
} 

3. Используйте функцию

Это действительно зависит от вашего варианта использования, но это может быть легко.

function feed($animal) { 
    if ($animal == 'cat') { 
     // feed the cat 
     return true; 
    } else if ($animal == 'dog') { 
     // feed the dog; 
     return true; 
    } else if ($animal == 'goat') { 
     // feed the goat 
     return true; 
    } 
    return false; 
} 

if (feed('dog')) { 
    echo 'hi'; 
} 

if (feed('cat')) { 
    echo 'hi again'; 
} 

4. Используйте массивы

Это один также зависит от случая использования, но может быть удобно, а

function cat_function() { 
    echo 'The cat says meaauw'; 
} 

function dog_function() { 
    // etc 
} 

function goat_function() { 
    // you got the point 
} 

$animals = array(
    'cat' => 'cat_function', 
    'dog' => 'dog_function', 
    'goat' => 'goat_function' 
); 

$my_pet = 'dog'; 

if (array_key_exists($my_pet, $animals)) { 
    call_user_func($animals[ $my_pet ]); 
} 

Хорошо, я могу думать о некоторых других, но мне нужен ваш прецедент;)

Смежные вопросы