вопрос по php

Главные вкладки

Аватар пользователя kiev1 kiev1 5 сентября 2005 в 2:54

Подскажите пожалуйста - что означает такое простое выражение if (!$ууу) где yyy - массив и еще чем отличается такая консрукция if ($zzz == "тут текст") и if ($zzz === "тут текст")

Комментарии

Аватар пользователя Maxim_ Maxim_ (не проверено) 5 сентября 2005 в 7:32

Quote:
if (!$ууу)

Если массив не пустой, то условие выполняется.
Quote:
if ($zzz == “тут текст”) и if ($zzz === “тут текст”)

=== - это тождественно равно, т.е. совпадают не только значения, но и типы, т.е. в первом случае 1 равно "1", а во втором нет, во втором только - 1 === 1, или "1" === "1"

Аватар пользователя kiev1 kiev1 5 сентября 2005 в 9:08

Спасибо - с типами понятно а вот с массивом не работает так а наоборот - если пишем if ($ctype->fields) - то условие выполняется если переменная $ctype->fields есть переменная и пустая, а вот если это массив то все как раз наоборот - условие выполняется если он не пустой - [url=http://cvs.drupal.org/viewcvs/drupal/contributions/sandbox/dublindrupall...вот код[/url] - вчера наткнулся и удивился...

Аватар пользователя Troy Troy 6 сентября 2005 в 6:03

хе, так вот виновник торжества Smile
kiev1, респект за идею HTML markup во flexinode.
А что за block.module в твоем первом аттаче (с русскими комментами)?

Quote:
if (!$ууу)

если $yyy - тип Array, то условие выполняется если массив пустой
если $yyy - тип Int, то условие выполняется если переменная = 0
для строк - думаю '' тоже сработает, хотя я бы использовал empty().
если есть какие-то сомнения, для массива используй count()
для строк empty()

Аватар пользователя kiev1 kiev1 6 сентября 2005 в 9:48

> хе, так вот виновник торжества * Ха-ха *
> kiev1, респект за идею HTML markup во flexinode.
Ну наконец-то - заметили Smile я давно это тут всем надоедал своими идеями, но это все игнорировали, а на английском друпале меня как обычно посылали подальше.

>А что за block.module в твоем первом аттаче (с русскими комментами)?
это моя первая разработка [url=http://drupal.org/node/15854]"Display of blocks by zones instead of left-right"[/url] - возможность задавать в теме зоны не только лево-право но и в любом месте, называть их по своему а названия выходят в администрировании модуля автоматически в виде выпадающего меню - модуль сам парсит тему находит имена и выпадает их в виде меню. Но это тоже пол года игнорировали, пока наконец оно в 4.7 cvs не появилось, я правда не смотрел насколько правильно сделали - правильно это так что-бы модуль сам тему парсил а не выдумывать промежуточные понятия или перемнные.

смотрите тот код - там работает так if ($ууу) - выполняется если переменная нулевая или массив не пустой - смотрите сами смотрите пример кода - там когда не заполнен массив полей документа - формочка расстановки шаблона не должна появлятся и это сделано через if ($ctype->fields) { тут вывод формочки которая при незаполненном массиве не появляется - что меня и удивило - то есть работает наоборот } [url=http://cvs.drupal.org/viewcvs/drupal/contributions/sandbox/dublindrupall...вот код[/url]
насчет идей - там еще уже реализована идея двойного ресайза картинок - отправляете например огромную картинку - она ресайзится до мах указанного в свойствах поля и до thumb - thumb попадает в статью и когда на него нажимаете - в pop-up окошке - мах размер - это очень важно для редакторов сайта что-бы они не мучались с гимпом. На подходе - реализация идеи флексиноде таблиц - что-бы можно было задавать фильтр по таксономиям и чекбоксы с нужными результирующими полями, а потом еще есть идея многостраничного ввода именно воода данных - например при организации опросника на сайте - когда вопросов много - что-бы не все за один раз появлялись на странице.

Аватар пользователя Troy Troy 6 сентября 2005 в 15:57

Quote:

это моя первая разработка ”Display of blocks by zones instead of left-right” - возможность задавать в теме зоны не только лево-право но и в любом месте, называть их по своему а названия выходят в администрировании модуля автоматически в виде выпадающего меню - модуль сам парсит тему находит имена и выпадает их в виде меню.

я так и думал. Я уже тоже такое сделал для своей сборки друпал, но у меня никакого парсинга тем не происходит, у меня регионы лежат в переменной друпала, а в теме я просто пишу theme('blocks', 'banner');
ну идея вообщем та же.

Quote:

насчет идей - там еще уже реализована идея двойного ресайза картинок - отправляете например огромную картинку - она ресайзится до мах указанного в свойствах поля и до thumb - thumb попадает в статью и когда на него нажимаете - в pop-up окошке - мах размер - это очень важно для редакторов сайта что-бы они не мучались с гимпом.

что-то я не уловил... у тебя функционал который должен быть в image.inc будет реализован во flexinode? имхо не лучший подход...

Quote:

смотрите тот код - там работает так if ($ууу) - выполняется если переменная нулевая или массив не пустой - смотрите сами смотрите пример кода - там когда не заполнен массив полей документа - формочка расстановки шаблона не должна появлятся и это сделано через if ($ctype->fields) { тут вывод формочки которая при незаполненном массиве не появляется - что меня и удивило - то есть работает наоборот } вот код

я код уже видел, спасибо Smile не мог бы строку указать? А то как-то копаться в 40 килах...
предположу что ты про function flexinode_edit_content_type()
но строку все-таки скажи Smile

Аватар пользователя kiev1 kiev1 6 сентября 2005 в 18:23

строка вот эта - if ($ctype->fields){ //check to see if they are on the add new content type page - она одна там и работает совершенно непонятно но работает а вот меню стандартное - не работает - когда добавил позиции и ожидаю что они раскроются как в админ меню - то они не раскрываются - помогиииитеееее, ну пожалуйста, ну скорее ато я уже 2 дня -> http://drupal.ru/node/1394

---------

Quote:
я так и думал. Я уже тоже такое сделал для своей сборки друпал, но у меня никакого парсинга тем не происходит, у меня регионы лежат в переменной друпала, а в теме я просто пишу theme(‘blocks’, ‘banner’);
то есть дизайнер должен помнить какое название друпал ожидает и его вводить - а в друпал его надо вручную заносить? это как-то сложно - проще так - дизайнер наваял что хотел - друпал пропарсил и что нашел то и выдал в выпадающем меню... Smile просто и оченвидно и всего пару строчек кода.
Quote:
что-то я не уловил… у тебя функционал который должен быть в image.inc будет реализован во flexinode? имхо не лучший подход…
да нет конечно - просто довел image.inc от флексинода до нормального состояния