Articles of Справочник по

Как создать несколько массивов PHP в функции для параметров, переданных по ссылке?

Если у меня есть функция в php, которая создает несколько массивов объектов при анализе xml, как мне вернуть эти массивы в качестве ссылок? Нужно ли мне назначать новые для выделения массивов? Как определить их внутри функции? function ParseConfig($rawxml, &$configName, &$radioArr, &$flasherArr, &$irdArr) К сожалению, я имею в виду возвращение нескольких массивов в качестве ссылок на […]

Могу ли я запускать сборку мусора PHP автоматически, если у меня есть круговые ссылки?

Кажется, я вспоминаю способ настройки __destruct для класса таким образом, чтобы гарантировать, что циклические ссылки будут очищены, как только внешний объект выпадет из области видимости. Тем не менее, простой тест, который я построил, кажется, указывает на то, что это не ведет себя так, как я ожидал / надеялся. Есть ли способ настроить мои классы таким […]

Массив ссылки на функцию в PHP

Я хотел бы проверить значение integer и выбрать функцию в зависимости от этого. Я мог бы сделать оператор if-elseif следующим образом: if($a==0) {function0($a);} if($a==1) {function1($a);} и т. д., но я предпочел бы создать массив функций, называемый возможно functionArray, который можно описать следующим образом: $functionArray=array( function0($a), function1($a) ); и т. д., поэтому мы выполняем функцию, основанную […]

Как изменить значение в $ array2 без ссылки $ array1?

Рассмотрим следующий фрагмент кода PHP. $array1 = array(1,20); $x = &$array1[1]; $array2 = $array1; $array2[1] = 22; print_r($array1[1]); // Output is 22 Здесь $array2 не ссылается на $array1 , но как изменить значение в $array2 , изменив значение $array1 ?

Передача пользовательских данных в качестве ссылки на array_walk_recursive в Php

Я пытаюсь передать третий параметр по ссылке на Phps array_walk_recursive $field = 'foo'; array_walk_recursive($config, function($value, $key, &$field) { $field = 'bar'; }, $field); echo $field // 'foo' Почему $field все еще 'foo' , хотя он передан функции в качестве ссылки?

Есть ли способ обнаружить круговые массивы в чистом PHP?

Я пытаюсь реализовать свою собственную функцию стиля сериализации / var_dump в PHP. Это кажется невозможным, если есть возможность круговых массивов (что есть). В последних версиях PHP var_dump обнаруживает круговые массивы: php > $a = array(); php > $a[] = &$a; php > var_dump($a); array(1) { [0]=> &array(1) { [0]=> *RECURSION* } } Как я могу […]

PHP подсчитывает количество файлов в каталоге и подкаталоге

Мне нужно получить общее количество JPG-файлов в указанном каталоге, включая ВСЕ его подкаталоги. Нет суб-подкаталогов. Структура выглядит так: dir1 / 2 файла subdir 1 / 8 файлов total dir1 = 10 файлов dir2 / 5 файлов subdir 1 / 2 файла subdir 2 / 8 файлов total dir2 = 15 файлов У меня есть эта […]

Как преобразовать ссылки на символы HTML (& # x5E3;) в обычный UTF-8?

У меня есть сайты на иврите, содержащие символы, такие как: נוף Я могу просматривать эти буквы только в том случае, если я сохраню файл как .html и просмотрю в кодировке UTF-8. Если я попытаюсь открыть его как обычный текстовый файл, тогда кодировка UTF-8 не отобразит правильный вывод. Я заметил, что если я открою текстовый редактор […]

in_array на объектах с круговыми ссылками

Я строю массив объектов. Мне нужно, чтобы этот массив содержал только один экземпляр данного объекта, имеющий несколько ссылок на один и тот же объект, должен вызывать исключение. Для этого я использую следующий код: public function addField ($name, iface\Node $field) { // Prevent the same field being added multiple times if (!in_array ($field, $this -> fields)) […]

Возвращает общее количество файлов в папке с помощью PHP

Есть ли лучший / более простой способ найти количество изображений в каталоге и вывести их в переменную? function dirCount($dir) { $x = 0; while (($file = readdir($dir)) !== false) { if (isImage($file)) {$x = $x + 1} } return $x; } Это похоже на такой длинный способ сделать это, нет ли более простого способа? Примечание. […]