Difference Between If () { } and If (): Endif;

Difference between if () { } and if () : endif;

They are the same but the second one is great if you have MVC in your code and don't want to have a lot of echos in your code. For example, in my .phtml files (Zend Framework) I will write something like this:

<?php if($this->value): ?>
Hello
<?php elseif($this->asd): ?>
Your name is: <?= $this->name ?>
<?php else: ?>
You don't have a name.
<?php endif; ?>

Using if() {} vs if(): endif;

The statement are equals though for a better legibility in a Model View Controller project is better to use

if(1== 1) {
echo 'hello world';
}

in model/controller part and the other one in the View part.

<? if(1 == 1): ?>
<div>..</div>
<? endif;?>

so a web designer/ graphic can better handle html code.

The differences between if else and #if #else #endif

I am confused about the if/else and #if/#else/#endif. It seems that
they have the same logic functionality.

Can I ask what's the differences between them?

#if, #else and #endif belong to preprocessing. They are not executed but are instructions for textual replacement. You can think of them as a kind of automatic "search & replace" feature you'd usually find in a text editor.

if and else are run-time constructs. You can think of them as being executed while the program runs.

Let's say you have this program:

#include <iostream>

#define VALUE 1

int main()
{
#if VALUE == 1
std::cout << "one\n";
#else
std::cout << "not one\n";
#endif
}

When you tell your compiler to compile this program, the preprocessor will make a textual replacement before the "real" C++ code is actually compiled. It will be as if the program was:

#include <iostream>

int main()
{
std::cout << "one\n";
}

Now, technically you could use an if here:

#include <iostream>

#define VALUE 1

int main()
{
if (VALUE == 1)
{
std::cout << "one\n";
}
else
{
std::cout << "not one\n";
}
}

But in C++ you don't use #define for constants. You'd instead have something like:

#include <iostream>

int const value = 1;

int main()
{
if (value == 1)
{
std::cout << "one\n";
}
else
{
std::cout << "not one\n";
}
}

Perhaps the value is only known while the program executes, e.g. via user input. Then you obviously cannot use #if, which only works before the program runs. You must use if:

#include <iostream>

int main()
{
int value;
std::cin >> value; // gross simplification here

if (value == 1)
{
std::cout << "one\n";
}
else
{
std::cout << "not one\n";
}
}

What kind of specific situations for me to choose each of them?

A good guideline for a beginner would be: Use #if (or actually: #ifndef) only for include guards. Consider further uses of #if when you encounter problems that can only be solved by the preprocessor.

Python: Where does if-endif-statement end?

Yes. Python uses indentation to mark blocks. Both the if and the for end there.

End 'If Statement' with Function

This could be solved by doing what is suggested in: How to exit an if clause

Not clear to me is this will solve your issue but this would be my code:

import os, sys

def check_message(message):
print('Checking message')
for m in message.split():
if m == 'foo':
return True
else:
return False


def wrapper(message):
if 'foo' in message:
check = check_message(message)
if check:
return
print(check)
print('bar')


message = 'foo'
wrapper(message)

but I don't understand why the double check on the message and not just:


def wrapper(message):
if check_message(message)
return
print('bar')


message = 'foo'
wrapper(message)

In this case, 'bar' will be printed only if the message does not container 'foo' words.

Also, regarding your code, you don't need to give check as an input, since you are not using it in the function function, you overwrite it in any case.

It's also better to use True and False instead of 1 and 0

Are elseif and else if completely synonymous?

From the PHP manual:

In PHP, you can also write 'else if' (in two words) and the behavior would be identical to the one of 'elseif' (in a single word). The syntactic meaning is slightly different (if you're familiar with C, this is the same behavior) but the bottom line is that both would result in exactly the same behavior.

Essentially, they will behave the same, but else if is technically equivalent to a nested structure like so:

if (first_condition)
{

}
else
{
if (second_condition)
{

}
}

The manual also notes:

Note that elseif and else if will only be considered exactly the same when using curly brackets as in the above example. When using a colon to define your if/elseif conditions, you must not separate else if into two words, or PHP will fail with a parse error.

Which means that in the normal control structure form (ie. using braces):

if (first_condition)
{

}
elseif (second_condition)
{

}

either elseif or else if can be used. However, if you use the alternate syntax, you must use elseif:

if (first_condition):
// ...
elseif (second_condition):
// ...
endif;

What is an endif in php?

When you do if condition in your code then you have to Complete the if condition with endif. like below.

if( Condition ) :
// Your Statement
endif;


Related Topics



Leave a reply



Submit