Оптимальный способ проверить, не является ли какая-либо из нескольких строк непустыми (в php) - PullRequest
2 голосов
/ 18 февраля 2011

У меня есть несколько строк, которые могут быть или не быть пустыми.Если какой-либо из них не пуст, должна быть вызвана вставка mysql.

Я просто ее кодировал, но думал о самом быстром методе проверки, если ЛЮБОЙ из них не пустые.

$a = something;
$b = something;
$c = something;

Опции

  1. if ($ a! = "" || $ b! = "" || $ c! ="")
  2. if ($ a. $ B. $ C! = "")
  3. if (strlen ($ a) || strlen ($ b) || strlen ($ c))
  4. if (strlen ($ a)> 0 || strlen ($ b)> 0 || strlen ($ c)> 0)
  5. if (strlen ($ a. $b. $ c))
  6. if (strlen ($ a. $ b. $ c)> 0)

Ответы [ 3 ]

4 голосов
/ 18 февраля 2011

Я бы сделал что-то вроде этого:

if (!$a || !$b || !$c){
   ...
}

Никаких накладных расходов на такие функции, как strlen и т. Д., Нет. ! - хорошая ставка.

1 голос
/ 18 февраля 2011

Вы забыли наиболее важные функции в вашем списке, а именно пусто и isset .

1 голос
/ 18 февраля 2011

Не один ли способ выяснить, является ли тестирование генерированием, скажем, набора из 1000 случайных строк и обхода этого набора для каждой опции?Я предполагаю, что это довольно наивный способ, и чтение нативного кода для каждой функции даст более подробный ответ, но все же это легко:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...