NexxDigital - компьютеры и операционные системы

In·qui·ry / in ˌkwīr ē, in kwīr ē; in kwə rē, iŋ / n pl ries 1: a request for information such doubt as would cause a reasonable person to make an inquiry 2: a systematic official investigation often of a matter of public interest esp. by a body… … Law dictionary

inquiry - inquiry, inquisition, investigation, inquest, probe, research all mean a search for truth, knowledge, or information. Inquiry is the most general of these terms, applicable to such search regardless of the means (as questioning, observation, or… … New Dictionary of Synonyms

Inquiry - In*quir y, n.; pl. {Inquiries}. 1. The act of inquiring; a seeking for information by asking questions; interrogation; a question or questioning. He could no path nor track of foot descry … The Collaborative International Dictionary of English

inquiry - mid 15c., enquery, from enquere (see INQUIRE (Cf. inquire)). Respelled from mid 16c. to conform to Latin … Etymology dictionary

inquiry - [n] asking; looking into analysis, audit, catechizing, check, cross examination, delving, disquisition, examination, exploration, fishing expedition*, grilling, hearing, inquest, inquisition, inspection, interrogation, interrogatory,… … New thesaurus

inquiry - n. pl. inquiries 1. the act of inquiring 2. an investigation or examination 3. a question; query … English World dictionary

Inquiry - For other uses, see Public inquiry and Enquiry character. An inquiry is any process that has the aim of augmenting knowledge, resolving doubt, or solving a problem. A theory of inquiry is an account of the various types of inquiry and a treatment … Wikipedia

Inquiry - (Roget s Thesaurus) >Subject of Inquiry. Question. < N PARAG:Inquiry >N GRP: N 1 Sgm: N 1 inquiry inquiry Sgm: N 1 request request &c. 765 Sgm: N 1 search search research quest pursuit &c. 622 GRP: N 2 … English dictionary for students

inquiry - Used in the context of general equities. in line expression of interest in a particular stock, usually asking the firm to bid for or offer stock. Bloomberg Financial Dictionary * * * inquiry in‧quir‧y [ɪnˈkwaɪəri ǁ ɪnˈkwaɪri, ˈɪŋkwəri] noun… … Financial and business terms

inquiry - in|quir|y W3 enquiry [ınˈkwaıəri US ınˈkwaıri, ˈıŋkwəri] n plural inquiries 1.) a question you ask in order to get information inquiry about ▪ We re getting a lot of inquiries about our new London Rio service. inquiry from ▪ inquiries from… … Dictionary of contemporary English

inquiry */*/*/ - UK [ɪnˈkwaɪərɪ] / US [ɪnˈkwaɪrɪ] / US [ˈɪŋkwərɪ] noun Word forms inquiry: singular inquiry plural inquiries a question intended to get information about someone or something There have already been over 300 inquiries from people… … English dictionary

Книги

  • Inquiry-Guided Learning. New Directions for Teaching and Learning, Number 129 , Virginia Lee S.. Is inquiry-guided learning a universal answer for various teaching and learning ills in higher education? With eight institutional case studies drawn from colleges and universities in… Купить за 2263.37 руб электронная книга
  • Inquiry into the nature of subscription to the thirty-nine articles.. , Dyer George. Книга представляет собой репринтное издание. Несмотря на то, что была проведена серьезная работа по восстановлению первоначального качества издания, на некоторых страницах могут обнаружиться…

Я когда-то писал о . Так вот, мы с Вами там рассмотрели только "жадных " представителей. Однако, не всегда их "жадность " нам помогает, очень часто она и вредит. Чуть ниже я покажу пример, где чётко видно то, что они иногда делают, а также покажу как уменьшить их пыл и сделать квантификаторы повторений "ленивыми" .

Давайте разберём простой и уже ставший классическим пример:

$str = "Небольшая строка c жирным выделением.";
.*<\/b>
echo $result_str;
?>

Возможно, Вы ожидаете что-то наподобие этого: "Небольшая здесь_жирное_выделение с здесь_жирное_выделение выделением ". То есть просто замена содержимого внутри тега <b > на заданную нами строку вместе с самим тегом. Однако, это не совсем так, поскольку здесь вступает в игру "жадность квантификаторов ". И в результате замена была не внутри каждого тега <b >, а от самого первого открывающего тега до самого последнего закрывающего. В этом и состоит жадность.

Вот как надо писать данный код, чтобы замена происходила так, как мы хотим:

$str = "Небольшая строка c жирным выделением.";
$result_str = preg_replace("/.*?<\/b>/i", "здесь_жирное_выделение", $str);
echo $result_str;
?>

Всё, что мы изменили это регулярное выражение, поставив после квантификатора повторений ".* " знак вопроса, который как раз и делает квантификатор "ленивым" . Теперь результатом будет: "Небольшая здесь_жирное_выделение c здесь_жирное_выделение выделением. ", чего мы и пытались добиться.

Я очень надеюсь, что Вы осознали проблему "жадности" квантификаторов и поняли, как они работают. А также осознали, как это можно исправить простым знаком "? ". Эта тема действительно важная, и огромное количество новичков в регулярных выражениях делают одни и те же ошибки, связанные с "жадностью" квантификаторов повторений , поэтому если Вы ещё не осознали весь смысл до конца, то перечитайте статью ещё раз.

PHP поддерживает стандартные логические операторы AND и && , OR и || , ! (не) и XOR . Логические операторы позволяют сравнивать результаты работы двух операндов (значения или выражения) с целью определения факта возвращения одним из них или обоими значения true или false и выбора соответствующего продолжения выполнения сценария в зависимости от возвращенного значения. Как и операторы сравнения, логические операторы возвращают одно логическое значение - true либо false , в зависимости от значений находящихся по обе стороны от оператора.

Логическое ИЛИ (OR и ||)

Оператор логическое ИЛИ обозначается как OR или || . Он выполняет операцию «логическое ИЛИ» над двумя операндами. Если один или оба операнда имеют истинное значение, он возвращает true . Если оба операнда имеют ложные значения, он возвращает false . У вас вероятно возник вопрос, зачем же сделали два варианта одного оператора? Смысл двух разных вариантов оператора «логическое ИЛИ» в том, что они работают с различными приоритетами.

Сначала разберем как работает оператор || . И так, если один или оба его операнда имеют истинное значение, он возвращает true . Если оба операнда возвращают ложные значения, он вернет false .

Оператор OR работает также как и оператор || за одним исключением, если оператор OR используется с присваиванием, то сначала он вычислит и вернет значение левого операнда, в остальном он работает точно также как и оператор || , т.е. если один или оба его операнда имеют истинное значение, он возвращает true . Если оба операнда возвращают ложные значения, он вернёт false .

Чтобы стало понятнее, как они работают, приведем следующий пример:

1 // Сначала переменной присваивается значение false, а затем вычисляется второй операнд // Действие приоритета: ($var2 = false) or true $var2 = false or true; echo $var2; // false не выводится // ($var3 = 0) or 3 $var3 = 0 or 3; echo "
$var3"; // => 0 ?>

Любые операторы сравнения и логические можно комбинировать в более сложные конструкции:

Стоит упомянуть еще об одном важном моменте, касательно обоих операторов OR и || . Оператор «логическое ИЛИ» начинает свои вычисления со своего левого операнда, если он возвращает true , то правый операнд вычисляться не будет. Это позволяет экономить время исполнения, но нужно внимательно следить за тем, чтобы код, от которого может зависеть корректная работа программы, не был помещен в правый операнд.

Логическое И (AND и &&)

Оператор логическое И обозначается как AND или && . Он выполняет операцию «логическое И» над двумя операндами. Он возвращает true тогда и только тогда, когда оба операнда имеют значение true . Если один или оба операнда возвращают значение false , оператор возвращает false . Смысл двух разных вариантов записи оператора «логическое И» такой же как и у двух предыдущих операторов, а именно в том, что они работают с различными приоритетами.

Сначала разберем как работает оператор && . И так, если оба его операнда имеют истинное значение, он возвращает true . Если хотя бы один или оба его операнда возвращают значение false , он тоже вернет false .

Оператор AND работает также как и оператор && за одним исключением, если оператор AND используется с присваиванием, то сначала он вычислит и вернёт значение левого операнда, в остальном он работает точно также как и оператор && . Если хотя бы один из его операндов возвращает значение false , он тоже вернет false , также если оба операнда возвращают ложные значения, он возвращает false .

Для понимания рассмотрим теперь, как это работает на практике:

$bar3"; // => 9 ?>

Исключающее ИЛИ (XOR)

Оператор исключающее ИЛИ обозначается как XOR . Он возвращает значение true , если один и только один из операндов имеет значение true . Если оба операнда имеют значение true , оператор вернет значение false .

Так как приоритет оператора XOR такой же как и у операторов AND и OR (ниже чем у оператора присваивания), и он используется в выражении с присваиванием, то сначала он вычисляет и возвращает значение левого операнда.

6 $a1 = 19 xor 5 > 6; var_dump($a1); // => 19 var_dump(true xor true); // false var_dump((2 < 3) xor (5 != 5)); // true ?>

Логическое НЕ (!)

Оператор логическое НЕ , его также называют отрицание обозначается знаком! . Он является унарным оператором, помещаемым перед одиночным операндом. Оператор «логическое НЕ» используется для инверсии логического значения своего операнда и всегда возвращает true или false .

Если потребуется инвертировать значение выражения, например a && b , необходимо будет использовать круглые скобки: !(a && b) . Также с помощью оператора! можно преобразовать любое значение x в его логический эквивалент, дважды применив оператор: !!x .



Если заметили ошибку, выделите фрагмент текста и нажмите Ctrl+Enter
ПОДЕЛИТЬСЯ:
NexxDigital - компьютеры и операционные системы