Здравствуйте! Можно ли создать ассоциативный массив из массива ключей и значений какой-то стандартной функцией в php? Без написания своего цикла. В развитие вопроса - есть ли такая стандартная функция, которая еще предварительно применяет задаваемую пользовательскую функцию к каждому элементу из массива значений, а потом уже собирает готовый ассоциативный массив?
Спасибо. Позвольте не в тему. Есть ли в php функция, которая возвращает подстроку строки после(не включая) определенного символа или их набора или надо строить комбинацию из функций?
Спасибо. Попробовал применить ее так: Код (Text): class MyClass{ public $resized_files = array(); public function get_product_path($file){ return $file.'someadd'; } protected function getListQuery(){ $var = array('dssa','asasf','sdfg'); $this->resized_files = array_combine($var, array_map("get_product_path",$var)); ... } } Возвращает null в $this->resized_files. Почему?
отладка/debug http://phpfaq.ru/debug https://netbeans.org/kb/docs/php/debugging_ru.html https://php.ru/forum/threads/howto-...i-po-shagam-i-s-kartinkami.58974/#post-474550
Ну тут уж либо регуляркой, либо двумя функциями. Одной находишь позицию, другой дергаешь с позиции подстроку. Второй вариант быстрее.
Я дебажу в Phpstorm. На входе в array_combine($var, array_map("get_product_path",$var)) есть данные в массиве $var, но в глубь функции array_map phpstrom дебагнуть не дает, видимо это как само собой разумеющееся. Поэтому на следующем ходе отладке в $this->resized_files вижу сразу только Null. Как отладить глубже? Хотя вот, наш зацепку: то есть get_product_path не находится, хотя она выше определена. Как сделать так, чтобы находилась?
помогли разобраться, спасибо. надо было так: PHP: $this->resized_files = array_combine($var, array_map([$this,"get_product_path"],$var));