Я получаю сообщение об ошибке в этой строке:
$ret = array_merge($ret, preg_ls($path . "/" . $e, $rec, $pat));
Ошибка:
array_merge() Аргумент №2 не является массивом
Я не знаю, как это решить.
function preg_ls($path = ".", $rec = false, $pat = "/.*/") {
// it's going to be used repeatedly, ensure we compile it for speed.
$pat = preg_replace("|(/.*/[^S]*)|s", "\\1S", $pat);
//echo($pat);
//Remove trailing slashes from path
while (substr($path, -1, 1) == "/")
$path = substr($path, 0, -1);
//also, make sure that $path is a directory and repair any screwups
if (!is_dir($path)) $path = dirname($path);
//assert either truth or falsehoold of $rec, allow no scalars to mean truth
if ($rec !== true)
$rec = false;
//get a directory handle
$d = dir($path);
//initialise the output array
$ret = Array();
//loop, reading until there's no more to read
while (false !== ($e = $d->read())) {
//Ignore parent- and self-links
if (($e == ".") || ($e == "..")) continue;
//If we're working recursively and it's a directory, grab and merge
if ($rec && is_dir($path . "/" . $e)) {
$ret = array_merge($ret, preg_ls($path . "/" . $e, $rec, $pat));
continue;
}
//If it don't match, exclude it
if (!preg_match($pat, $e))
continue;
//In all other cases, add it to the output array
//echo ($path . "/" . $e . "
");
$ret[] = $path . "/" . $e;
}
//finally, return the array
echo json_encode($ret);
}
Подробнее здесь: https://stackoverflow.com/questions/157 ... ction-call
Как вернуть массив из вызова неродной функции? [дубликат] ⇐ Php
Кемеровские программисты php общаются здесь
-
Anonymous
1735966955
Anonymous
Я получаю сообщение об ошибке в этой строке:
$ret = array_merge($ret, preg_ls($path . "/" . $e, $rec, $pat));
Ошибка:
array_merge() Аргумент №2 не является массивом
Я не знаю, как это решить.
function preg_ls($path = ".", $rec = false, $pat = "/.*/") {
// it's going to be used repeatedly, ensure we compile it for speed.
$pat = preg_replace("|(/.*/[^S]*)|s", "\\1S", $pat);
//echo($pat);
//Remove trailing slashes from path
while (substr($path, -1, 1) == "/")
$path = substr($path, 0, -1);
//also, make sure that $path is a directory and repair any screwups
if (!is_dir($path)) $path = dirname($path);
//assert either truth or falsehoold of $rec, allow no scalars to mean truth
if ($rec !== true)
$rec = false;
//get a directory handle
$d = dir($path);
//initialise the output array
$ret = Array();
//loop, reading until there's no more to read
while (false !== ($e = $d->read())) {
//Ignore parent- and self-links
if (($e == ".") || ($e == "..")) continue;
//If we're working recursively and it's a directory, grab and merge
if ($rec && is_dir($path . "/" . $e)) {
$ret = array_merge($ret, preg_ls($path . "/" . $e, $rec, $pat));
continue;
}
//If it don't match, exclude it
if (!preg_match($pat, $e))
continue;
//In all other cases, add it to the output array
//echo ($path . "/" . $e . "
");
$ret[] = $path . "/" . $e;
}
//finally, return the array
echo json_encode($ret);
}
Подробнее здесь: [url]https://stackoverflow.com/questions/15752057/how-to-return-an-array-from-a-non-native-function-call[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия