diff --git a/faq/build.xml b/faq/build.xml new file mode 100644 index 000000000..0bec5017e --- /dev/null +++ b/faq/build.xml @@ -0,0 +1,572 @@ + + + + + Проблемы Сборки + Проблемы Сборки + + + В этом разделе собраны наиболее общие ошибки, возникающие на этапе сборки. + + + + + + + Я получил последнюю версию PHP, используя анонимный CVS, + но в нём нет конфигурационного скрипта! + + + + + Вам нужен установленный пакет GNU autoconf для того, чтобы сгенерировать + конфигурационный скрипт из configure.in. + После получения исходников с CVS сервера просто запустите + ./buildconf в директории верхнего уровня. + (Также, если вы запускаете configure без опции + --enable-maintainer-mode, то конфигурационный + скрипт не будет перестроен автоматически при изменении файла + configure.in, поэтому вам необходимо делать это + вручную, когда вы заметите, что configure.in изменился. + Один из симптомов - появление таких вещей как @VARIABLE@ в вашем Makefile + после выполнения configure или config.status) + + + + + + + + У меня возникают проблемы при конфигурировании PHP для работы с Apache. + Он говорит, что не может найти httpd.h, + хотя файл находится точно там, где я сказал! + + + + + Для configure/setup скрипта вам необходимо указать + директорию верхнего уровня, в которой находятся исходники Apache. + Это означает, что вам надо задать , + а не . + + + + + + + + Во время конфигурации PHP (./configure) + вы наталкиваетесь на ошибку, схожую со следующим: + + + + checking lex output file root... ./configure: lex: command not found + configure: error: cannot find output from lex; giving up + + + + + + Не забудьте внимательно прочитать инструкции по + установке и заметьте, что для + компиляции PHP вам нужны оба flex и bison установленные. + В зависимости от ваших настроек, установите bison и flex либо из + исходников, либо из RPM пакетов. + + + + + + + + Когда я пытаюсь запустить Apache, я получаю следующее сообщение: + + + + fatal: relocation error: file /path/to/libphp4.so: + symbol ap_block_alarms: referenced symbol not found + + + + + + Эта ошибка обычно появляется, если ядро Apache было скомпилировано как + разделяемая библиотека DSO. Попробуйте переконфигурировать Apache, + используя, по крайней мере, следующие флаги: + + + + --enable-shared=max --enable-rule=SHARED_CORE + + + + Для более подробной информации читайте файл INSTALL + верхнего уровня или + страницу руководства Apache по DSO. + + + + + + + + Когда я запускаю configure, он говорит, что не может найти файлы + include или библиотеку для GD, gdbm или какого-либо другого пакета! + + + + + Вы можете сделать так, что скрипт configure будет искать файлы заголовков + или библиотеки в нестандартных местах, задав дополнительные флаги для + С препроцессора и компоновщика, такие как: + + + + Если вы используете csh-подобную оболочку (почему?), то это будет: + + + + + + + + + + + При компиляции файла language-parser.tab.c + мне выдаются ошибки, говорящие yytname undeclared. + + + + + Вам необходимо обновить вашу версию Bison. Последнюю версию можно найти на + &url.bison;. + + + + + + + + Когда я запускаю make, похоже, он выполняется нормально, + но на конечной линковке жалуется, что не может найти некоторые файлы. + + + + + Некоторые старые версии make ошибочно не помещают скомпилированые файлы в + поддиректорию functions в той же директории. + Попробуйте выполнить cp *.o functions и затем + перезапустить make. Если это помогло, то вам действительно + надо установить свежую версию GNU make. + + + + + + + + При компиляции PHP, он жалуется на некоторые неопределённые ссылки. + + + + + Посмотрите на строку для компоновки и убедитесь, что все нужные библиотеки + добавлены в конце. Часто забывают '-ldl' и библиотеки, необходимые для + поддержки подключенных баз данных. + + + Если вы компонуете с Apache 1.2.x, не забыли ли вы добавить + соответствующую информацию в строку EXTRA_LIBS в файле Configuration + и перезапустить Configure скрипт для Apache? Смотрите файл + INSTALL + для дополнительной информации. + + + Некоторые люди также сообщают, что при компоновке с Apache + им пришлось добавить '-ldl' сразу после libphp4.a. + + + + + + + + Я не могу понять как собрать PHP c Apache 1.3. + + + + + На самом деле это очень легко. Аккуратно выполните следующие шаги: + + + + Получите последний дистрибутив Apache 1.3 с + &url.apache.source;. + + + + + Раскомпрессуйте и разархивируйте (ungzip/untar) его где-нибудь, + для примера в + /usr/local/src/apache-1.3. + + + + + Скомпилируйте PHP, сперва запустив + ./configure --with-apache=/<path>/apache-1.3 + (замените <path> на ваш настоящий путь к директории apache-1.3.) + + + + + Введите make с последующим + make install для того, чтобы построить PHP + и скопировать все необходимые файлы в дерево дистрибутива Apache. + + + + + Перейдите в вашу директорию + /<path>/apache-1.3/src + и отредактируйте файл Configuration. + Добавьте в файл: + AddModule modules/php4/libphp4.a. + + + + + Введите: ./configure и затем make. + + + + + Теперь у вас должен быть бинарник httpd, поддерживающий PHP! + + + + + + Замечание: Вы также можете использовать новый скрипт + ./configure в Apache. Смотрите инструкции в файле + README.configure, входящем в ваш дистрибутив Apache. + Также загляните в файл INSTALL из дистрибутива PHP. + + + + + + + + Я следовал всем шагам по установке модульной версии для Apache на Unix, + но мои PHP скрипты выводятся в моём браузере или я получаю запрос сохранить + файл. + + + + + Это означает, что по какой-то причине модуль PHP не вызывается. + Перед тем как обращаться за помощью, проверьте три вещи: + + + + Убедитесь, что запускаемый вами бинарник httpd действительно новый, + только что построенный httpd. Для этого попробуйте запустить: + /path/to/binary/httpd -l + + + Если вы не видете mod_php4.c в списке, + то вы запускаете не тот бинарник. + Найдите и установите правильный бинарник. + + + + + Убедитесь, что вы добавили правильный Mime Type в один из ваших + Apache .conf файлов. Это должно быть: + AddType application/x-httpd-php3 .php3 (for PHP 3) + + + или AddType application/x-httpd-php .php (for PHP 4) + + + Также убедитесь, что эта строка AddType не попала внутрь + <Virtualhost> или <Directory> блока, так что она + не будет применина к местонахождению вашего тестового скрипта. + + + + + Наконец, между Apache 1.2 и Apache 1.3 расположение конфигурационных + файлов Apache по умолчанию изменилось. Вам надо проверить, что + действительно читается тот конфигурационный файл, в который вы добавили + строку AddType. Вы можете внести очевидную синтаксическую ошибку + в ваш &httpd.conf; файл или какое-либо другое заметное изменение, + которое покажет вам, что читается правильный файл. + + + + + + + + + + + Говорится использовать: + --activate-module=src/modules/php4/libphp4.a, + но такой файл не существует, поэтому я заменил это на + --activate-module=src/modules/php4/libmodphp4.a + и оно не работает!? Что происходит? + + + + + Заметьте, что файл libphp4.a не должен существовать. + Он будет создан в процессе! + + + + + + + + Когда я пытаюсь собрать Apache c PHP, в виде статического модуля, используя + --activate-module=src/modules/php4/libphp4.a + он говорит, что мой компилятор не ANSI-совместимый. + + + + + Сообщение об ошибке вводит в заблуждение; это исправлено в более свежих + версиях Apache. + + + + + + + + Когда я пытаюсь собрать PHP используя + , + я получаю странное сообщение об ошибке. + + + + + Проверьте три вещи. Во-первых, по какой-то причине, когда Apache создает + Perl скрипт apxs, он получается без правильного компилятора и + переменных, задающих флаги. + Найдите ваш apxs скрипт (попробуйте команду which apxs), + иногда он установлен как /usr/local/apache/bin/apxs + или /usr/sbin/apxs. + Откройте его и найдите строки, схожие с этими: + + + + Если они так и выглядят, то вы нашли вашу проблему. Они могут содержать + только пробелы или другие неправильные значения, такие как 'q()'. + Измените эти строки на: + + + + Вторая возможная проблема возникает только на Red Hat 6.1 и 6.2. + Скрипт apxs, приходящий с Red Hat, сломан. Ищите эту строку: + + + + Если вы нашли вышеприведенную строку, измените её на следующее: + + + + И последнее, если вы переконфигурируете/переустанавливаете Apache, + запустите make clean + после ./configure и перед make. + + + + + + + + Во время выполнения make я получаю ошибки в microtime + и множество всяких RUSAGE_. + + + + + Во время инсталяции, выполняя make, + если вы сталкиваетесь с проблемами, похожими на следующее: + + + + + + Ваша система сломана. Вы должны поправить ваши файлы + /usr/include, установив пакет glibc-devel, + который соответствует вашей glibc. Это абсолютно не зависит от PHP. + Для доказательства попробуйте следующий простой тест: + +test.c < +X +$ gcc -E test.c >/dev/null +]]> + + Если выдаются ошибки, вы знаете, что у вас беспорядок с include файлами. + + + + + + + + При компиляции PHP с MySQL, configure выполняется нормально, + но во время make я получаю ошибку типа следующего: + ext/mysql/libmysql/my_tempnam.o(.text+0x46): In function + my_tempnam': /php4/ext/mysql/libmysql/my_tempnam.c:103: the + use of tempnam' is dangerous, better use mkstemp', + в чём дело? + + + + + Во-первых, важно понимать, что это Предупреждение, + а не фатальная ошибка. Так как это последнее, что выводится во время + make, оно может выглядеть как фатальная ошибка, + но это не так. Конечно, если ваш компилятор умирает на Предупреждениях + (Warnings), то тогда да. Также имейте ввиду, что поддержка MySQL + включена по умолчанию. + + + + Начиная с PHP 4.3.2 вы также будете видеть следующуий текст после + того как сборка (make) завершится: + + + + Build complete. + (It is safe to ignore warnings about tempnam and tmpnam). + + + + + + + + + + Я хочу обновить мой PHP. Где я могу найти строку + ./configure, которая была использована для моей + текущей PHP установки? + + + + + Либо смотрите файл config.nice в дереве исходников вашей текущей PHP + установки, либо, если это недоступно, просто выполните скрипт: + + +]]> + + В начале вывода будет находиться строка ./configure, + которая была использована для сборки текущего PHP. + + + + + + + + При сборке PHP с библиотекой GD, либо выдаются странные ошибки компиляции, + либо segfault при выполнении. + + + + + Убедитесь, что ваша библиотека GD и PHP линкуются с одними и теми же + зависимыми библиотеками (например libpng). + + + + + + + + При компиляции PHP я, кажется, получаю случайные ошибки, например она зависает. + Я использую Solaris, если это имеет значение. + + + + + Использование не GNU утилит во время компиляции PHP может вызвать проблемы. + Чтобы быть уверенным, что компиляция PHP будет работать, + используйте GNU утилиты. Например, в Solaris, использование + SunOS BSD-совместимой или Solaris версии sed + не будет работать, а GNU или Sun POSIX (xpg4) версии + sed будет. + Ссылки: GNU sed, + GNU flex, and + GNU bison. + + + + + + + + diff --git a/faq/using.xml b/faq/using.xml new file mode 100644 index 000000000..dd96eee06 --- /dev/null +++ b/faq/using.xml @@ -0,0 +1,465 @@ + + + + + Использование PHP + Использование PHP + + + В этом разделе собрано множество общих ошибок, которые могут вам + встретиться при написании PHP скриптов. + + + + + + + Я хочу написать общий PHP скрипт, кторый может обрабатывать данные, + приходящие из любой формы. Как узнать какие переменные метода POST + доступны? + + + + + PHP предлагает множество + предопределённых переменных, таких как суперглобальная + $_POST. Вы можете пройтись по $_POST + так как это ассоциативный массив всех значений, пришедших с POST. + Для примера, давайте просто пройдёмся по ним с + foreach, + проверим на пустые (empty) значения и распечатаем. + + $varvalue) { + if (empty($varvalue)) { + $empty[$varname] = $varvalue; + } else { + $post[$varname] = $varvalue; + } +} + +print "
";
+if (empty($empty)) {
+    print "None of the POSTed values are empty, posted:\n";
+    var_dump($post);
+} else {
+    print "We have " . count($empty) . " empty values\n";
+    print "Posted:\n"; var_dump($post);
+    print "Empty:\n";  var_dump($empty);
+    exit;
+}
+?>
+]]>
+      
+     
+     
+     ¬e.superglobals;
+
+    
+   
+
+   
+    
+     
+      Мне надо преобразовать все одиночные кавычки (') в обратную косую черту с
+      последующей одиночной кавычкой (\').
+      Как я могу сделать это с помощью регулярного выражения?
+      Я также хотел бы преобразовать " в \" и \ в \\.
+     
+    
+    
+     
+      Это делает функция addslashes. 
+      Смотрите также mysql_escape_string.
+      Также вы можете избавиться от обратной косой черты с помощью
+      stripslashes.
+     
+
+     ¬e.magicquotes.gpc;
+
+    
+   
+   
+   
+    
+     
+      Все мои " превратились в \" и мои ' в \', как я могу избавиться от
+      всех этих нежелательных обратных косых черт? Как и почему они появились?
+     
+    
+    
+     
+      PHP функция stripslashes удалит эти
+      обратные косые черты из вашей строки (string). Вероятнее всего,
+      обратные косые черты магически появились из-за того, что включена
+      PHP директива magic_quotes_gpc
+     
+     
+     ¬e.magicquotes.gpc;
+     
+    
+      
+
+   
+    
+     
+      Когда я делаю следующее, вывод распечатывается не в том порядке:
+     
+
+]]>
+    
+     Что происходит?
+     
+    
+    
+     
+      Для того, чтобы использовать результат вашей функции в выражении
+      (таком как соединение с другими строками, как в вышеприведённом примере),
+      вам необходимо вернуть значение с помощью return,
+      а не выводить его через echo.
+     
+    
+   
+
+   
+    
+     
+      Эй, что произошло с моими строками?
+      
+
+
+
+
+]]> +
+
+ + + + В PHP, блок кода завершается либо с "?>", либо с "?>\n" + (где \n означает "новая строка"). В вышеприведённом примере + предложения выведутся на одной строке, так как PHP опусткает + символ новой строки после завершения блока. Это означает, + что вам необходимо вставить дополнительный символ новой строки + после каждого блока PHP кода, для того чтобы вывод продолжался + с новой строки. + + + Почему PHP делает это? Потому что при форматировании обычного HTML + это, обычно, упрощает вашу жизнь когда вым не нужна эта новая строка + и вам не надо создавать невероятно длинные строки для того, чтобы + сделать сырой исходник страницы читаемым. + + +
+ + + + + Я получаю сообщение + 'Warning: Cannot send session cookie - headers already + sent...' или 'Cannot add header information - headers already sent...'. + + + + + Функциям header, setcookie, + и функциям сессии нужно добавить + заголовки к выходному потоку, но заголовки могут быть посланы только перед + всем другим содержимым. Перед использованием этих функций не может быть + никакого вывода HTML. Функция headers_sent + проверит если ваш скрипт уже послал заголовки; также смотрите + Функции Управления Выводом. + + + + + + + + Мне необходим прямой доступ к информации в заголовке запроса. + Как я могу это сделать? + + + + + Это делает функция getallheaders если вы + запускаете PHP как модуль Apache. Так следующий кусок кода + покажет вам все заголовки запроса: + + $content) { + echo "headers[$name] = $content
\n"; +} +?> +]]> +
+
+ + Также смотрите + apache_lookup_uri, + apache_response_headers и + fsockopen + +
+
+ + + + + Когда я пытаюсь использовать аутентификацию с IIS, я получаю + 'No Input file specified'. + + + + + Это недостаток модели безопасности IIS. Проблема общая для всех + CGI программ, выполняющихся под IIS. Чтобы обойти проблему, + создайте простой HTML файл (неразбираемый PHP) как входную страницу + в аутентифицируемой директории. Затем используйте META тэг для + перенаправления на PHP страницу или поместите ссылку на PHP страницу. + После этого PHP распознает аутентификацию правильно. + С модулем ISAPI такой проблемы нет. Это не должно повлиять на другие + web сервисы NT. Для дополнительной информации смотрите: + &url.iis; и раздел руководства + HTTP Аутентификация. + + + + + + + + Windows: У меня нет доступа к файлам, разделяемых другим компьютером, + по IIS. + + + + + Вам необходимо сделать изменения. Идите в Internet Information + Services. Найдите ваш PHP файл и перейдите в его свойства. + Идите в закладку File Security, Edit -> + Anonymous access and authentication control. + + + Вы можете исправить проблему либо сняв отметку с Anonymous + Access и оставив отмеченым Integrated Window + Authentication, либо отметив Anonymous + Access и отредактировать права пользователя, так как у него + может не быть прав. + + + + + + + + Мой PHP скрипт работает в IE и Lynx, а в Netscape некоторый + вывод отсутствует. Когда я выполняю "View Source", я вижу + содержимое в IE, а в Netscape нет. + + + + + Netscape более строг к HTML тэгам (таким как таблицы), чем IE. + Может быть полезно пропустить ваш HTML вывод через HTML validator, + такой как validator.w3.org. + Например, это может быть вызвано отсутствием </table>. + + + Также, оба IE и Lynx игнорируют любые NUL-ы (\0) + в HTML потоке, а Netscape нет. Лучший способ проверить это - скомпилировать + версию командной строки PHP + (также известную как CGI версия) и выполнить ваш скрипт из командной строки. + На *nix, пропустите вывод через od -c и ищите любые + \0 символы. Если вы под Windows, вам надо найти + редактор или какую-либо другую программу, которая позволяет просматривать + двоичные файлы. Когда Netscape видит NUL в файле, он обычно не будет + больше ничего выводить на этой строке, тогда как IE и Lynx будут. + + + + + + + + Как я должен совмещать XML и PHP? Он жалуется на мои <?xml тэги! + + + + + Для того, чтобы встроить <?xml напрямую в ваш PHP код, вам надо отключить + короткие тэги, установив PHP директиву + short_open_tags в + 0. Вы можете установить эту директиву с помощью + ini_set. Независимо от того, что включена или нет + short_open_tags, + вы можете делать что-то типа: + <?php echo '<?xml'; ?>. + По умолчанию эта директива включена. + + + + + + + + Как я могу использовать PHP с FrontPage или каким-либо другим + редактором HTML, который настаивает на перемещении моего кода? + + + + + Самое простое, что можно сделать - это включить поддержку ASP тэгов в вашем + PHP коде. Это позволит вам использовать разделители кода в стиле ASP + <% и %>. Некоторые популярные редакторы HTML обращаются с ними + более интеллигентно (пока ещё). Чтобы разрешить тэги в стиле ASP, + вам надо установить переменную asp_tags + в &php.ini; или использовать соответствующую директиву Apache. + + + + + + + + Где я могу найти полный список переменных, доступных мне в PHP? + + + + + Читайте страницу руководства по + предопределённым + переменным так как она содержит частичный список предопределённых + переменных, доступных вашему скрипту. Полный список доступных переменных + (и множество другой информации) можно увидеть, вызвав функцию + phpinfo. Не забудьте прочитать раздел руководства + по переменным извне PHP + так как он описывает общие сценарии для внешних переменных, таких + как HTML форма, Cookie и URL. + + + ¬e.registerglobals; + + + + + + + + Как я могу генерировать PDF файлы без использования платных или + коммерческих библиотек ClibPDF и + PDFLib? Я бы хотел что-нибудь + бесплатное и не требующее внешних библиотек PDF. + + + + + Есть несколько альтернатив, написанных на PHP, таких как + &url.pdf.ros;, + &url.pdf.fpdf;, + &url.pdf.pdf4php; и + &url.pdf.phppdflib;. + А также модуль Panda. + + + + + + + + Я пытаюсь получить доступ к одной из стандартных CGI переменных + (таких как $DOCUMENT_ROOT или $HTTP_REFERER) в определённой + пользователем функции и, похоже, она не может быть найдена. + В чём дело? + + + + + Важно осознавать, что директива PHP register_globals + также затрагивает переменные окружения и сервера. + Когда register_globals = off (по умолчанию off, начиная с PHP 4.2.0), + default is off since PHP 4.2.0), $DOCUMENT_ROOT + не будет существовать. Вместо ипользуйте $_SERVER['DOCUMENT_ROOT'] + . Если register_globals = on, то переменные + $DOCUMENT_ROOT и + $GLOBALS['DOCUMENT_ROOT'] будут также существовать. + + + Если вы уверины, что register_globals = on и удивляетесь почему + $DOCUMENT_ROOT недоступна внутри функции, то + это потому, что, как любые другие переменные, она требует + global $DOCUMENT_ROOT внутри функции. + Также смотрите страницу руководства по + области + определения переменной. + Предпочтительно кодировать с register_globals = off. + + + ¬e.superglobals; + + + + + + + + Несколько PHP директив могут принимать сокращения для байтовых значений + в отличие от только integer байтовах значений. + Каковы все доступные сокращения? И могу ли я использовать их вне &php.ini;? + + + + + Доступные опции: K (для Килобайтов), M (для Мегабайтов) и + G (для Гигабайтов; доступна начиная с PHP 5.1.0); + они чувствительны к регистру. Всё остальное считается байтами. + 1M равно одному Мегабайту или + 1048576 байтам. 1K равно + одному Килобайту или 1024 байтам. + Вы не можете использовать эти сокращения вне &php.ini;, вместо + используйте integer значения байтов. Смотрите документацию + по ini_get для примеров как преобразовать эти значения. + + + + +
+
+ + + + diff --git a/language/operators.xml b/language/operators.xml index b2f15072f..cb86dbdd7 100644 --- a/language/operators.xml +++ b/language/operators.xml @@ -1,5 +1,5 @@ - + Операторы @@ -161,7 +161,7 @@ ]]> - Вы моежете использовать круглые скобки для повышения читабельности кода. + Вы можете использовать круглые скобки для повышения читабельности кода. diff --git a/reference/array/functions/array.xml b/reference/array/functions/array.xml new file mode 100644 index 000000000..20507ce3f --- /dev/null +++ b/reference/array/functions/array.xml @@ -0,0 +1,168 @@ + + + + + + + array + + Создать массив + + + + Описание + + arrayarray + mixed... + + + Возвратить массив параметров. Параметры могут быть заданы с индексом + при помощи оператора =>. См. раздел руководства + array type + для ознакомления с понятием массив. + + + + + array - это языковая конструкция + для представления массивов, а не функция. + + + + + Синтакс "index => values", разделённые запятыми, определяет + индексы и их значения. Индекс может быть строкой или целым числом. Если индекс опущен, + будет автоматически сгенерирован числовой индекс, начиная с 0. + Если индекс - число, следующим сгенерированным индексом будет число, равное + максимальному числовому индексу + 1. Обратите внимание, что если определены два + одинаковых индекса, последующий переназначит предыдущий. + + + Использование запятой после последнего определённого элемента массива, + в отличие от обычного поведения, является приемлемым синтаксисом. + + + Последующие примеры демонстрируют создание двухмерного массива, + определение ключей ассоциативных массивов и + и способ генерации числовых индексов для обычных массивов, + если нумерация начинается с произвольного числа. + + Пример использования <function>array</function> + + array("a" => "orange", "b" => "banana", "c" => "apple"), + "numbers" => array(1, 2, 3, 4, 5, 6), + "holes" => array("first", 5 => "second", "third") +); +?> +]]> + + + + + + Автоматическая индексация <function>array</function> + + 1, 4 => 1, 19, 3 => 13); +print_r($array); +?> +]]> + + &example.outputs; + + 1 + [1] => 1 + [2] => 1 + [3] => 13 + [4] => 1 + [8] => 1 + [9] => 19 +) +]]> + + + + + Обратите внимание, что индекс '3' определён дважды, и содержит последнее значение 13. + Индекс 4 определён после индекса 8, и следующий сгенерированный индекс (значение 19) + - 9, начиная с максимального индекса 8. + + + Этот пример создаёт массив, нумерация которого начинаяется с 1. + + <function>array</function>, нумерация которого начинаяется с 1 + + 'January', 'February', 'March'); +print_r($firstquarter); +?> +]]> + + &example.outputs; + + January + [2] => February + [3] => March +) +]]> + + + + + Как и в Perl, вы имеете доступ к значениям массива внутри кавычек. + Однако в PHP нужно заключить ваш массив в фигурные скобки. + + Доступ к массиву внутри кавычек + + 'baz'); +echo "Hello {$foo['bar']}!"; // Hello baz! + +?> +]]> + + + + + См. также array_pad, + list, + count, + foreach и + range. + + + + + diff --git a/reference/array/functions/arsort.xml b/reference/array/functions/arsort.xml new file mode 100644 index 000000000..cfff4ec37 --- /dev/null +++ b/reference/array/functions/arsort.xml @@ -0,0 +1,86 @@ + + + + + + + arsort + + Отсортировать массив в обратном порядке, сохраняя ключи + + + + Описание + + boolarsort + arrayarray + intsort_flags + + + Эта функция сортирует массив в обратном порядке таким образом, что сохраняются отношения между + ключами и значениями. Она полезна, в основном, при сортировке ассаоциативных массивов, + когда важно сохранить отношение ключ => значение. + + + &return.success; + + + Пример использования <function>arsort</function> + + "lemon", "a" => "orange", "b" => "banana", "c" => "apple"); +arsort($fruits); +reset($fruits); +while (list($key, $val) = each($fruits)) { + echo "$key = $val\n"; +} +?> +]]> + + &example.outputs; + + + + + + Названия фруктов были отсортированы в обратном порядке и + отношения ключ/значение были сохранены. + + + Вы можете изменить поведение сортировки, используя дополнительный + параметр sort_flags, подробнее + см. sort. + + + См. также asort, rsort, + ksort и sort. + + + + + diff --git a/reference/array/functions/asort.xml b/reference/array/functions/asort.xml new file mode 100644 index 000000000..e4d85d05a --- /dev/null +++ b/reference/array/functions/asort.xml @@ -0,0 +1,84 @@ + + + + + + + asort + Отсортировать массив, сохраняя ключи + + + Описание + + boolasort + arrayarray + intsort_flags + + + Эта функция сортирует массив таким образом, что сохраняются отношения между + ключами и значениями. Она полезна, в основном, при сортировке ассоциативных массивов, + когда важно сохранить отношение ключ => значение. + + + &return.success; + + + Пример использования <function>asort</function> + + "lemon", "a" => "orange", "b" => "banana", "c" => "apple"); +asort($fruits); +reset($fruits); +while (list($key, $val) = each($fruits)) { + echo "$key = $val\n"; +} +?> +]]> + + &example.outputs; + + + + + + Названия фруктов были отсортированы и + отношения ключ/значение были сохранены. + + + Вы можете изменить поведение сортировки, используя дополнительный + параметр sort_flags, подробнее + см. sort. + + + См. также arsort, rsort, + ksort и sort. + + + + + diff --git a/reference/array/functions/compact.xml b/reference/array/functions/compact.xml new file mode 100644 index 000000000..62171b756 --- /dev/null +++ b/reference/array/functions/compact.xml @@ -0,0 +1,93 @@ + + + + + + + compact + + Создать массив, содержащий названия переменных и их значения + + + + Описание + + arraycompact + mixedvarname + mixed... + + + compact принимает переменное число параметров. + Любой из параметров может быть либо строкой, содержащей название переменной + либо массивом названий переменных. Массив может содержать + вложенные массивы названий переменных; функция + compact обрабатывает их рекурсивно. + + + Для каждого из параметров, compact смотрит, существует + ли переменная с таким именем в текущей символьной таблице и добавляет в результирующий + массив элемент, ключ которого содержит название переменной, а значение, соответствующее + этому ключу, значение переменной. + Коротко говоря, действия этой функции противоположны действиям функции extract. + Она возвращает результирующий массив со всеми переменными, добавленными туда. + + + Если переменной, с именем, соответствующем переданной строке не существует, такая строка будет просто проигнорирована. + + + + Пример использования <function>compact</function> + + +]]> + + + После этого значение $result будет: + + + SIGGRAPH + [city] => San Francisco + [state] => CA +) +]]> + + + + + См. также extract. + + + + + diff --git a/reference/array/functions/count.xml b/reference/array/functions/count.xml new file mode 100644 index 000000000..0f189aded --- /dev/null +++ b/reference/array/functions/count.xml @@ -0,0 +1,147 @@ + + + + + + + count + Посчитать количество элементов массива или количество свойств объекта + + + Описание + + intcount + mixedvar + intmode + + + Возвратить количество элементов переменной var, + которая обычно является array, или любым другим объектом, который может + содержать хотя бы один элемент. + + + Для объектов count возвращает количество нестатических + свойств, не принимая во внимание видимость. Если у вас включена поддержка + SPL, вы можете перехватить + count, реализуя интерфейс + Countable. Этот интерфейс имеет только один метод, + count, который возвращает значение функции + count. + + + Если var не является объектом или массивом, + будет возвращена 1. + За одним исключением: если var - &null;, + то будет возвращён 0. + + + + Дополнительный параметр mode был добавлен начиная с + PHP 4.2.0. + + + + Если дополнительный параметр mode установлен в + COUNT_RECURSIVE (или 1), count + будет считать количество элементов массива рекурсивно. Это особенно полезно для подсчёта + всех элементов многомерных массивов. Предустановленное значение + параметра mode - 0. + count не обнаруживает бесконечную рекурсию. + + + + count может возвратить 0 для переменных, которые + не установлены, но также может возвратить 0 для переменных, которые + инициализированы пустым массивом. Используйте функцию + isset для того, чтобы протестировать, установлена ли переменная. + + + + Пожалуйста, см. раздел этого руководства Array + для того, чтобы получить детальное представление о реализации и использовании + массивов в PHP. + + + + Пример использования <function>count</function> + +foo = 'A property'; +$obj->bar = 'Another property'; +$result = count($obj); +// $result == 2; +?> +]]> + + + + + + + Пример рекурсивного использования <function>count</function> (PHP >= 4.2.0) + + + array('orange', 'banana', 'apple'), + 'veggie' => array('carrot', 'collard', 'pea')); + +// рекурсивный count +echo count($food, COUNT_RECURSIVE); // output 8 + +// обычный count +echo count($food); // output 2 + +?> +]]> + + + + + См. также is_array, + isset и + strlen. + + + + + diff --git a/reference/array/functions/current.xml b/reference/array/functions/current.xml new file mode 100644 index 000000000..8354968c8 --- /dev/null +++ b/reference/array/functions/current.xml @@ -0,0 +1,83 @@ + + + + + + + current + Возвратить текущий элемент массива + + + Описание + + mixedcurrent + arrayarray + + + У каждого массива имеется внутренний указатель на его "текущий" элемент, + который инициализирован первым элементом, добавленным в массив. + + + Функция current просто возвращает значение + элемента массива, на который указывает его внутренний указатель. + Она не перемещает указатель куда бы то ни было. Если + внутренний указатель за пределами списка элементов, + current возвращает &false;. + + + Если массив содержит пустые элементы (0 или "", пустая + строка), эта функция возвратит &false; + для этих элементов. Это делает невозможным установить + в действительности ли достигнут конец списка элементов + массива при помощи функции current. + Для того, чтобы правильно просматривать массивы, содержащие + пустые элементы, используйте функцию each. + + + + + + Пример использования <function>current</function> и дружественных функций + + +]]> + + + + + См. также end, key, + next, prev и + reset. + + + + + diff --git a/reference/array/functions/each.xml b/reference/array/functions/each.xml new file mode 100644 index 000000000..e0d7df108 --- /dev/null +++ b/reference/array/functions/each.xml @@ -0,0 +1,159 @@ + + + + + + + each + + Возвратить текущую пару ключ/значение из массива и сместить его указатель + + + + Описание + + arrayeach + arrayarray + + + Возвращает текущую пару ключ/значение из массива + array и смещает его указатель. Эта + пара возвращается в виде массива из четырёх элементов, со следующими ключами: + 0, 1, + key и + value. Элементы 0 и + key содержат ключ элемента + массива, а элементы 1 и + value содержат его значение. + + + Если внутренний указатель массива указывает на его конец, + each возвратит + &false;. + + + + Примеры использования <function>each</function> + + +]]> + + + $bar теперь содержит следующие пары ключ/значение: + + + bob + [value] => bob + [0] => 0 + [key] => 0 +) +]]> + + + + + + + "Bob", "Seppo" => "Sepi"); +$bar = each($foo); +print_r($bar); +?> +]]> + + + $bar теперь содержит следующие пары ключ/значение: + + + Bob + [value] => Bob + [0] => Robert + [key] => Robert +) +]]> + + + + + each обычно используется совместно с + list для обхода массива, как + в этом примере: + + Обход массива функцией <function>each</function> + + 'apple', 'b' => 'banana', 'c' => 'cranberry'); + +reset($fruit); +while (list($key, $val) = each($fruit)) { + echo "$key => $val +"; +} +?> +]]> + + &example.outputs; + + apple +b => banana +c => cranberry +]]> + + + + + После выполнения each, указатель массива + перемещается к следующему его элементу, пока не будет достигнут конец массива. + Вы можете использовать + функцию reset для повторного обхода массива при помощи each. + + + + Посколько добавление элемента в массив сбрасывает указатель, + вышеприведённый пример может привести бесконечному циклу, если + мы будем присваивать $fruit другие значения внутри цикла. + + + + См. также key, list, + current, reset, + next, prev и + foreach. + + + + + diff --git a/reference/array/functions/end.xml b/reference/array/functions/end.xml new file mode 100644 index 000000000..4b4faa08b --- /dev/null +++ b/reference/array/functions/end.xml @@ -0,0 +1,67 @@ + + + + + + + end + + Установить внутренний указатель массива на его последний элемент + + + + Описание + + mixedend + arrayarray + + + end устанавливает + внутренний указатель array на последний элемент и возвращает + его значение. + + + + Простой пример использования <function>end</function> + + +]]> + + + + + См. также current, + each, + prev, + next и + reset. + + + + + diff --git a/reference/array/functions/extract.xml b/reference/array/functions/extract.xml new file mode 100644 index 000000000..cb890b5c1 --- /dev/null +++ b/reference/array/functions/extract.xml @@ -0,0 +1,239 @@ + + + + + + + extract + + Импортировать переменные из массива в текущую символьную таблицу. + + + + Описание + + intextract + arrayvar_array + intextract_type + stringprefix + + + Эта функция используется для импорта переменных из массива в текущую символьную таблицу. + Она берёт ассоциативный массив в качестве параметра + var_array и трактует его ключи как имена переменных + и значения как значения переменных. Для каждой пары ключ/значение будет + создана переменная в текущей символьной таблице, согласно параметрам + extract_type и + prefix. + + + + Начиная с версии 4.0.5, эта функция возвращает количество + извлечённых переменных. + + + + + EXTR_IF_EXISTS и EXTR_PREFIX_IF_EXISTS были добавлены в версии 4.2.0. + + + + + EXTR_REFS был добавлен в версии 4.3.0. + + + + extract проверяет каждый ключ на соответствие + приемлемости в качестве имени переменной. Эта функция также обрабатывает + коллизии имён, если ключ совпадает с именем переменной, уже существующей + в текущей символьной таблице. Способ обработки неприемлемых/числовых + ключей и коллизий имён устанавливает параметр + extract_type. Он может принимать одно из следующих + значений: + + + EXTR_OVERWRITE + + + Если переменная с таким именем существует, она будет переназначена. + + + + + EXTR_SKIP + + + Если переменная с таким именем существует, будет сохранено её прежнее значение. + + + + + EXTR_PREFIX_SAME + + Если переменная с таким именем существует, к её имени будет добавлен + префикс, определённый параметром prefix. + + + + + EXTR_PREFIX_ALL + + + Добавить префикс prefix ко всем именам переменных. + Начиная с PHP 4.0.5, также включает числовые имена. + + + + + EXTR_PREFIX_INVALID + + + Добавить префикс prefix только к неприемлемым/числовым + именам переменных. Этот флаг был добавлен в PHP 4.0.5. + + + + + EXTR_IF_EXISTS + + + Переназначить только переменные, уже имеющиеся в текущей символьной таблице, + в противном случае ничего не делать. Данная возможность полезна + для определения списка приемлемых переменных и для извлечения только + тех переменных, которые вы уже определили из массивов типа $_REQUEST, например. + Этот флаг был добавлен в PHP 4.2.0. + + + + + EXTR_PREFIX_IF_EXISTS + + + Создать переменные, имена которых начинаются с prefix + только если переменная с названием, которому не предшествует prefix, + определена в текущей символьной таблице. + Этот флаг был добавлен в PHP 4.2.0. + + + + + EXTR_REFS + + + Извлечь переменные как ссылки. Это означает, что значения таких переменных + будут всё ещё ссылаться на значения массива var_array. + Вы можете использовать этот флаг + отдельно или комбинировать его с другими, используя OR. Этот флаг был добавлен в PHP 4.3.0. + + + + + + + Если extract_type не определён, он + трактуется как EXTR_OVERWRITE. + + + Обратите внимание, что prefix имеет значение, только если + extract_type установлен в EXTR_PREFIX_SAME, + EXTR_PREFIX_ALL, EXTR_PREFIX_INVALID + или EXTR_PREFIX_IF_EXISTS. Если + в результате добавления префикса, не будет получено допустимое имя для переменной, + она не будет импортирована в текущую символьную таблицу. + + + extract возвращает количество переменных, + успешно импортированных в символьную таблицу. + + + + Не используйте функцию extract для непроверенных данных, таких как + пользовательский ввод ($_GET, ...). Если вы сделаете это, например, + для того, что бы временно запустить старый код, использующий + register_globals, + используйте соответствующий флаг extract_type + для того, что бы не переназначить уже установленные переменные, + такой как EXTR_SKIP и удостоверьтесь, что вы извлекаете + содержимое массивов + $_SERVER, $_SESSION, + $_COOKIE, $_POST и + $_GET в этом порядке. + + + + Функцию extract также можно использовать для импорта + в текущую символьную таблицу переменных, содержащихся в ассоциативном массиве, + возвращённом функцией wddx_deserialize. + + + + Пример использования <function>extract</function> + + "blue", + "size" => "medium", + "shape" => "sphere"); +extract($var_array, EXTR_PREFIX_SAME, "wddx"); + +echo "$color, $size, $shape, $wddx_size +"; + +?> +]]> + + &example.outputs; + + + + + + + Переменная $size не была переназначена, потому что мы + определили EXTR_PREFIX_SAME, в результате чего была создана + переменная $wddx_size. Если был бы определён флаг EXTR_SKIP, + тогда переменная $wddx_size не была бы создана. + EXTR_OVERWRITE был бы причиной того, что переменной $size + было бы присвоено значение "medium", и EXTR_PREFIX_ALL был бы причиной того, что были бы также + созданы новые переменные $wddx_color, + $wddx_size и + $wddx_shape. + + + Вы должны использовать ассоциативный массив, использование числовых массивов + не приведёт ни к каким результатам, если вы не использууете EXTR_PREFIX_ALL и + EXTR_PREFIX_INVALID. + + + См. также compact. + + + + + diff --git a/reference/array/functions/in-array.xml b/reference/array/functions/in-array.xml new file mode 100644 index 000000000..99eb531de --- /dev/null +++ b/reference/array/functions/in-array.xml @@ -0,0 +1,157 @@ + + + + + + + in_array + Проверить, присутствует ли в массиве значение + + + Описание + + boolin_array + mixedneedle + arrayhaystack + boolstrict + + + Ищет в haystack значение + needle и возвращает &true; + в случае удачи, &false; в противном случае. + + + Если третий параметр strict установлен в + &true; тогда функция in_array + также проверит соответствие types + параметра needle и соответствующего значения массива + haystack. + + + + Если needle - строка, сравнение будет регистрозависмым. + + + + + В PHP версий, более ранних, чем 4.2.0 параметр needle + не может быть массивом. + + + + + Пример использования <function>in_array</function> + + +]]> + + + Второго совпадения не будет, потому что in_array + регистрозависима, таким образом, программа выведет: + + + + + + + + + Пример использования <function>in_array</function> с параметром strict + + +]]> + + &example.outputs; + + + + + + + + Пример использования <function>in_array</function> с массивом в качестве параметра needle + + +]]> + + &example.outputs; + + + + + + + См. также array_search, + array_key_exists и + isset. + + + + + diff --git a/reference/array/functions/key.xml b/reference/array/functions/key.xml new file mode 100644 index 000000000..8590d29e1 --- /dev/null +++ b/reference/array/functions/key.xml @@ -0,0 +1,71 @@ + + + + + + + key + Выбрать ключ из ассоциативного массива + + + Описание + + mixedkey + arrayarray + + + key возвращает индекс текущего + элемента массива. + + + + Пример использования <function>key</function> + + 'apple', + 'fruit2' => 'orange', + 'fruit3' => 'grape', + 'fruit4' => 'apple', + 'fruit5' => 'apple'); + +// этот цикл выведет все ключи ассоциативного массива, +// значения которых равны "apple" +while ($fruit_name = current($array)) { + if ($fruit_name == 'apple') { + echo key($array).'
'; + } + next($array); +} +?> +]]> +
+
+
+ + См. также current и next. + +
+
+ + diff --git a/reference/array/functions/krsort.xml b/reference/array/functions/krsort.xml new file mode 100644 index 000000000..830cbb017 --- /dev/null +++ b/reference/array/functions/krsort.xml @@ -0,0 +1,83 @@ + + + + + + + krsort + Отсортировать массив по ключам в обратном порядке + + + Описание + + boolkrsort + arrayarray + intsort_flags + + + Сортирует массив по ключам в обратном порядке, сохраняя отношения между ключами и + значениями. Функция полезна, в основном, для работы с ассоциативными массивами. + + + &return.success; + + + + Пример использования <function>krsort</function> + +"lemon", "a"=>"orange", "b"=>"banana", "c"=>"apple"); +krsort($fruits); +reset($fruits); +while (list($key, $val) = each($fruits)) { + echo "$key = $val +"; +} +?> +]]> + + &example.outputs; + + + + + + + Вы можете изменить поведение сортировки, используя дополнительный + параметр sort_flags, подробнее + см. sort. + + + См. также asort, arsort, + ksort, sort, + natsort и rsort. + + + + + diff --git a/reference/array/functions/ksort.xml b/reference/array/functions/ksort.xml new file mode 100644 index 000000000..0703f0231 --- /dev/null +++ b/reference/array/functions/ksort.xml @@ -0,0 +1,89 @@ + + + + + + + ksort + Отсортировать массив по ключам + + + Описание + + boolksort + arrayarray + intsort_flags + + + Сортирует массив по ключам, сохраняя отношения между ключами и + значениями. Функция полезна, в основном, для работы с ассоциативными массивами. + + + &return.success; + + + + Пример использования <function>ksort</function> + +"lemon", "a"=>"orange", "b"=>"banana", "c"=>"apple"); +ksort($fruits); +reset($fruits); +while (list($key, $val) = each($fruits)) { + echo "$key = $val +"; +} +?> +]]> + + &example.outputs; + + + + + + + Вы можете изменить поведение сортировки, используя дополнительный + параметр sort_flags, подробнее + см. sort. + + + См. также asort, arsort, + krsort, uksort, + sort, natsort и + rsort. + + + + Второй параметр был добавлен в PHP 4. + + + + + + diff --git a/reference/array/functions/list.xml b/reference/array/functions/list.xml new file mode 100644 index 000000000..d9d55f1b1 --- /dev/null +++ b/reference/array/functions/list.xml @@ -0,0 +1,161 @@ + + + + + + + list + + Присвоить переменным из списка значения подобно массиву + + + + Описание + + voidlist + mixedvarname + mixed... + + + Подобно array, это не функция, + а языковая конструкция. list используется + для того, чтобы присвоить списку переменных значения за одну операцию. + + + + list работает только с массивами, индексами + которых являются числа и нумерация которых начинается с 0. + + + + + Примеры использования <function>list</function> + + +]]> + + + + + + Пример использования <function>list</function> + + + + Employee name + Salary + + + +" . + " $name +" . + " $salary +" . + " +"; +} + +?> + + +]]> + + + + + + list присваивает значения начиная с крайнего правого + параметра. Если вы используете простые переменные, можете не беспокоиться + об этом. Но если вы используете индексные массивы, вы можете ожидать, что в + результате выполнения функции list вы получите тот же + порядок элементов, что и в исходном массиве: слева направо; однако это не так. + Они будут присвоены в обратном порядке. + + + + + Использование <function>list</function> с индексами массивов + + +]]> + + + Выведет (сравните порядок исходных элементов с порядком, в + в котором они были перезаписаны функцией list): + + + + string(8) "caffeine" + [1]=> + string(5) "brown" + [0]=> + string(6) "coffee" +} +]]> + + + + + См. также each, array + и extract. + + + + + diff --git a/reference/array/functions/natcasesort.xml b/reference/array/functions/natcasesort.xml new file mode 100644 index 000000000..841924d26 --- /dev/null +++ b/reference/array/functions/natcasesort.xml @@ -0,0 +1,107 @@ + + + + + + + natcasesort + + Отсортировать массив, используя алгоритм "natural order" не принимая во внимание регистр символов + + + + Описание + + voidnatcasesort + arrayarray + + + Эта функция реализует алгоритм сортировки, при котором порядок буквенно-цифровых строк + будет привычным для человека. Такой алгоритм называется "natural ordering". + + + natcasesort - это регистронезависимый аналог + natsort. + + + + Пример использования <function>natcasesort</function> + + +]]> + + &example.outputs; + + IMG0.png + [1] => IMG3.png + [2] => img1.png + [3] => img10.png + [4] => img12.png + [5] => img2.png +) + +Natural order сортировка (регистронезависимая) +Array +( + [0] => IMG0.png + [4] => img1.png + [3] => img2.png + [5] => IMG3.png + [2] => img10.png + [1] => img12.png +) +]]> + + + Подробнее см. Martin Pool's Natural Order String Comparison. + + + + + См. также sort, + natsort, + strnatcmp и + strnatcasecmp. + + + + + diff --git a/reference/array/functions/natsort.xml b/reference/array/functions/natsort.xml new file mode 100644 index 000000000..e3b4da86d --- /dev/null +++ b/reference/array/functions/natsort.xml @@ -0,0 +1,100 @@ + + + + + + + natsort + + Отсортировать массив, используя алгоритм "natural order" + + + + Описание + + voidnatsort + arrayarray + + + Эта функция реализует алгоритм сортировки, при котором порядок буквенно-цифровых строк + будет привычным для человека. Такой алгоритм называется "natural ordering". + Отличие алгоритма "natural ordering" от обычных алгоритмов сортировки, применяемых, + например, функцией sort показывает нижеприведённый пример: + + + + Пример использования <function>natsort</function> + + +]]> + + &example.outputs; + + img1.png + [1] => img10.png + [2] => img12.png + [3] => img2.png +) + +Natural order сортировка +Array +( + [3] => img1.png + [2] => img2.png + [1] => img10.png + [0] => img12.png +) +]]> + + + Подробнее см. Martin Pool's Natural Order String Comparison. + + + + + См. также natcasesort, + strnatcmp и + strnatcasecmp. + + + + + diff --git a/reference/array/functions/reset.xml b/reference/array/functions/reset.xml new file mode 100644 index 000000000..e55bc3705 --- /dev/null +++ b/reference/array/functions/reset.xml @@ -0,0 +1,79 @@ + + + + + + + reset + + Установить внутренний указатель массива на его первый элемент + + + + Описание + + mixedreset + arrayarray + + + reset перемещает внутренний указатель array + к его первому элементу и возвращает значение первого элемента массива + или &false; если массив пуст. + + + + Пример использования <function>reset</function> + + +"; // "шаг один" + +// пропускаем два шага +next($array); +next($array); +echo current($array) . "
+"; // "шаг три" + +// сбрасываем указатель, тем самым возвращаемся к первому шагу +reset($array); +echo current($array) . "
+"; // "шаг один" + +?> +]]> +
+
+
+ + См. также current, + each, next + и prev. + +
+
+ + diff --git a/reference/array/functions/rsort.xml b/reference/array/functions/rsort.xml new file mode 100644 index 000000000..0d647b50c --- /dev/null +++ b/reference/array/functions/rsort.xml @@ -0,0 +1,85 @@ + + + + + + + rsort + Отсортировать массив в обратном порядке + + + Описание + + boolrsort + arrayarray + intsort_flags + + + Эта функция сортирует массив в обратном порядке (от большего к меньшему). + + + &return.success; + + + + Пример использования <function>rsort</function> + + +]]> + + &example.outputs; + + + + + + + Названия фруктов были отсортированы по алфавиту в обратном порядке. + + + Вы можете изменить поведение сортировки, используя дополнительный + параметр sort_flags, подробнее + см. sort. + + + См. также arsort, + asort, ksort, + sort и usort. + + + + + diff --git a/reference/array/functions/shuffle.xml b/reference/array/functions/shuffle.xml new file mode 100644 index 000000000..f35a4f0c4 --- /dev/null +++ b/reference/array/functions/shuffle.xml @@ -0,0 +1,64 @@ + + + + + + + shuffle + Перемешать массив + + + Описание + + boolshuffle + arrayarray + + + Эта функция перемещает элементы массива в случайном порядке. + + Пример использования <function>shuffle</function> + + +]]> + + + + + ¬e.randomseed; + + + См. также arsort, asort, + ksort, rsort, + sort и usort. + + + + + diff --git a/reference/array/functions/sizeof.xml b/reference/array/functions/sizeof.xml new file mode 100644 index 000000000..8c8c5b3db --- /dev/null +++ b/reference/array/functions/sizeof.xml @@ -0,0 +1,37 @@ + + + + + + + sizeof + Псевдоним функции count + + + Описание + + Эта функция является псевдонимом count. + + + + +