svn: /phpdoc/bg/trunk/reference/var/functions/ empty.xml

[email protected] (Stanislav Yordanov) Fri, 25 Dec 2015 01:18:26 +0000
Newsgroups php.doc.bg
Message-ID <[email protected]>
stanprog                                 Fri, 25 Dec 2015 01:18:26 +0000

Revision: http://svn.php.net/viewvc?view=revision&revision=338351

Log:
sync to EN

Changed paths:
    U   phpdoc/bg/trunk/reference/var/functions/empty.xml

Modified: phpdoc/bg/trunk/reference/var/functions/empty.xml
===================================================================
--- phpdoc/bg/trunk/reference/var/functions/empty.xml	2015-12-25 01:10:20 UTC (rev 338350)
+++ phpdoc/bg/trunk/reference/var/functions/empty.xml	2015-12-25 01:18:26 UTC (rev 338351)
@@ -1,19 +1,21 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!-- $Revision$ -->
-<!-- EN-Revision: n/a Maintainer: bogomil Status: ready -->
+<!-- EN-Revision: 334621 Maintainer: kdev Status: ready -->
+<!-- Reviewed: yes Maintainer: stanprog -->
+<!-- CREDITS: bogomil -->
 <refentry xml:id="function.empty" xmlns="http://docbook.org/ns/docbook">
  <refnamediv>
   <refname>empty</refname>
   <refpurpose>Определя дали дадена променлива е празна</refpurpose>
  </refnamediv>
- <refsect1 role="description">
+ <refsect1 role="description">
   &reftitle.description;
   <methodsynopsis>
    <type>bool</type><methodname>empty</methodname>
    <methodparam><type>mixed</type><parameter>var</parameter></methodparam>
   </methodsynopsis>
   <para>
-   Определя дали дадена променлива се счита за празна.
+   Определя дали дадена променлива се счита за празна. Дадена променлива се счита за празна, ако не съществува или ако стойността и е равна на &false;. Функция <function>empty</function> не генерира предупреждение, ако променливата не съществува.
   </para>
  </refsect1>
  <refsect1 role="parameters">
@@ -28,15 +30,16 @@
       </para>
       <note>
        <para>
-        <function>empty</function> проверява само променливи. При всеки друг случай
+        Преди PHP 5.5 <function>empty</function> проверява само променливи. При всеки друг случай
         ще се генерира синтактична грешка. Например, това няма да сработи:
         <command>empty(trim($name))</command>.
+        Вместо това ползвайте <command>trim($name) == false</command>
        </para>
       </note>
       <para>
-       <function>empty</function> е обратна функция на
-       <literal>(boolean) var</literal>,
-       с изключение на това, че няма да се генерира предупреждение, ако променливата не е дефинирана.
+       Няма да се генерира грешка, ако променливата не съществува.
+       Това означава, че  <function>empty</function>
+       по същество е еквивалент на <command>!isset($var) || $var == false</command>.
       </para>
      </listitem>
     </varlistentry>
@@ -46,13 +49,14 @@
  <refsect1 role="returnvalues">
   &reftitle.returnvalues;
   <para>
-   Връща &false; ако <parameter>var</parameter> има стойност различна от празна или нула.
+   Връща &false;, ако <parameter>var</parameter> има стойност различна от празна или нула.
   </para>
   <para>
    Тези неща се считат за празни:
    <simplelist>
     <member><literal>"" (празен символен низ)</literal></member>
     <member><literal>0 (0 от числов тип)</literal></member>
+    <member><literal>0.0</literal> (0 като число от плаващ тип)</member>
     <member><literal>"0" (0 като символен низ)</literal></member>
     <member>&null;</member>
     <member>&false;</member>
@@ -74,18 +78,18 @@
      </thead>
      <tbody>
       <row>
-       <entry>PHP 5</entry>
+       <entry>5.5.0</entry>
        <entry>
         <para>
-         В PHP 5 обекти без стойности не се считат за празни.
+         <function>empty</function> вече поддържа изрази, освен променливи.
         </para>
        </entry>
       </row>
       <row>
-       <entry>PHP 4</entry>
+       <entry>5.4.0</entry>
        <entry>
         <para>
-         В PHP 4 символен низ със стойност "0" се счита за празен.
+         Проверката на не-числови низови измествания връща &true;.
         </para>
        </entry>
       </row>
@@ -120,16 +124,66 @@
     </programlisting>
    </example>
   </para>
+  <example>
+   <title><function>empty</function> при низови измествания</title>
+     <para>
+      В PHP 5.4 промени <function>empty</function> промени начина си на работа,
+      когато се проверява с низово изместване.
+     </para>
+     <programlisting role="php">
+<![CDATA[
+<?php
+$expected_array_got_string = 'somestring';
+var_dump(empty($expected_array_got_string['some_key']));
+var_dump(empty($expected_array_got_string[0]));
+var_dump(empty($expected_array_got_string['0']));
+var_dump(empty($expected_array_got_string[0.5]));
+var_dump(empty($expected_array_got_string['0.5']));
+var_dump(empty($expected_array_got_string['0 Mostel']));
+?>
+]]>
+     </programlisting>
+     &example.outputs.53;
+     <screen>
+<![CDATA[
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+]]>
+     </screen>
+     &example.outputs.54;
+     <screen>
+<![CDATA[
+bool(true)
+bool(false)
+bool(false)
+bool(false)
+bool(true)
+bool(true)
+]]>
+     </screen>
+  </example>
  </refsect1>
  <refsect1 role="notes">
   &reftitle.notes;
   &note.language-construct;
+  <note>
+   <para>
+    Когато се ползва <function>empty</function> на недостъпни свойства на обекта,
+    Ще бъде извикан <link linkend="object.isset">__isset()</link>
+    ако е деклариран.
+   </para>
+  </note>
  </refsect1>
  <refsect1 role="seealso">
   &reftitle.seealso;
   <para>
    <simplelist>
     <member><function>isset</function></member>
+    <member><link linkend="object.isset">__isset()</link></member>
     <member><function>unset</function></member>
     <member><function>array_key_exists</function></member>
     <member><function>count</function></member>