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;
¬e.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>