мне было интересно, если есть более короткий путь, чтобы выполнить это, если условие:Можно ли укоротить isset() и == в PHP?
if(isset($somVar) && $someVar == 'some value')
Я попытался:
if($someVar === 'some value')
мне было интересно, если есть более короткий путь, чтобы выполнить это, если условие:Можно ли укоротить isset() и == в PHP?
if(isset($somVar) && $someVar == 'some value')
Я попытался:
if($someVar === 'some value')
Если вы можете убедиться в том, что $someVar
всегда существуют, вы можете пропустить isset()
части - в противном случае вы получите уведомление PHP, если переменная не существует.
Также обратите внимание, что существует существенная разница между ==
и ===
.
Поэтому я пришел к выводу, что вы не можете сократить это выражение.
Насколько я знаю, что есть на самом деле не другой «чистый» способ, однако ...
Вы можете отключить error reporting
В качестве альтернативы, вы можете объявить переменную заранее
$somVar = null;
// do what you must
if ($somVar == 'some value') ...
В-третьих, вы могли бы manually suppress сообщения об ошибках (работает в php 5.5)
if (@$someVar == 'some value') ...
Nr 2 бесполезен, так как он перезаписывает ваш var. Nr 3 не соответствует действительности. –
Я только что пробовал nr 3, и он работает в PHP 5.5. –
Я только что пробовал nr 3 в phpfiddle, и он все еще выдавал предупреждение. Учитывая, phpfiddle использует php 5.3 –
... объявить '$ somVar' заранее? – Izkata
php может обрабатывать вещи просто отлично без 'isset', но если вы его удалите, php даст вам уведомление, которое в основном является способом php сообщать вам« эй, я действительно не забочусь об этом », но думал Я должен сказать вам все равно, на случай, если вы захотите более подробно рассказать о вещах ... ». Не очень важно, если у вас есть сообщение об ошибке, отключенное для предупреждений. –
Он дает только уведомление, а не предупреждение, и уведомления обычно являются хорошим предупреждающим знаком опечаток в именах переменных. Поэтому отключение их в разработке - это плохо, потому что вы спрячете потенциальные ошибки. Также лучше не использовать неэксентирующие переменные, потому что, если вы объявите их, ваш код станет легче читать и понимать. Вы не используете какую-либо переменную из ничего, и никто не может сразу увидеть, что в ней. – Sven