次のように、php の条件文に割り当てを行うことができますか。
if(siteName_err = isValid("sitename", $_POST['sitename'], false))
{
$siteName = $_POST['sitename'];
}
次のように、php の条件文に割り当てを行うことができますか。
if(siteName_err = isValid("sitename", $_POST['sitename'], false))
{
$siteName = $_POST['sitename'];
}
はい。
これの最も一般的な使用シナリオは、MySQL を使用する場合だと思います。例えば:
$result = mysql_query("SELECT username FROM user");
while ($user = mysql_fetch_assoc($result)) {
echo $user['username'] . "\n";
}
これ$user
は、割り当ての結果であるため機能します。つまり、割り当てに格納されているものは何でも、条件として使用されます。言い換えると、
var_dump($i = 5);
// is equivalent to
$i = 5;
var_dump($i);
int(5)
明らかに、どちらも印刷されます。
はい。
正直なところ、試してみませんか?この種のことを行うことが許可されていない言語では、通常、コンパイラ/パーサー エラーが生成されます。
PHP は、基本的な構文要素のほとんどを C から取り入れています。これには、すべての代入が値を返すことが含まれます。したがって、これは有効です。
ええ、あなたはそれを行うことができます。
試してみてクレイジーなエラーが発生したために質問している場合は、変数名の前にsiteName_err
ドル記号を付けて、有効な変数名を作成してみてください$
。
はい、もちろん、while 構文についても同じことができます