|
PHP как сократить обращение к функции в одну строку? | ☑ | ||
---|---|---|---|---|
0
sysadminlk
16.05.20
✎
11:25
|
$clarify_query = appCart::get_CatalogOptions();
$clarify_query = $clarify_query['query']; как написать тоже самое одной строкой, за один вызов? типа вот так appCart::get_CatalogOptions()['query']; |
|||
1
sysadminlk
16.05.20
✎
11:39
|
переписал appCart::get_CatalogOptions()
чтоб сразу получить значение передаю теперь в нее appCart::get_CatalogOptions('query') и получаю то что нужно. но осталось интересным какие можно было применить конструкции для извлечения сразу из запроса тех данных которые необходимы может есть встроенная php функция которая позволит в переменную записывать только те ключи которые нужно. например $clarify_query = extract_by_key('query',appCart::get_CatalogOptions()); хотя extract_by_key можно и самому написать ))) function extract_by_key($key,$array){ return $array[$key]; } |
|||
2
Генератор
16.05.20
✎
11:51
|
у меня работает:
function get_CatalogOptions() { return ['query' => 'some query', 'query2' => 'some query 2']; } $query = get_CatalogOptions()['query']; echo $query; |
|||
3
sysadminlk
16.05.20
✎
11:58
|
(2) Parse error: syntax error, unexpected '[' in /home/link/www/index222.php on line 2
|
|||
4
Генератор
16.05.20
✎
12:00
|
(3) наверное PHP сильно старое
|
|||
5
sysadminlk
16.05.20
✎
12:01
|
<?php function get_CatalogOptions() {
$a = array(); $a['query'] = 'some query'; $a['query2'] = 'some query 2'; return $a; } $query = get_CatalogOptions()['query']; echo $query; ?> Parse error: syntax error, unexpected '[' in /home/link/www/index222.php on line 7 |
|||
6
sysadminlk
16.05.20
✎
12:01
|
PHP Version 5.2.17-pl0-gentoo
|
|||
7
Генератор
16.05.20
✎
12:02
|
(6) ну понятно, объявлять массивы через [] можно с версии 5.4
|
|||
8
sysadminlk
16.05.20
✎
12:05
|
(7) уже php-7.4.6 оказывается есть )))))
Короче я сильно устарел. |
|||
9
Генератор
16.05.20
✎
12:06
|
Добавлена возможность разыменования массивов, возвращаемых функциями. Например: foo()[0].
https://www.php.net/manual/ru/migration54.new-features.php |
|||
10
Гончий
17.05.20
✎
01:27
|
(0) Попробуй в скобки взять, должно работать:
$clarify_query = (appCart::get_CatalogOptions())['query']; |
|||
11
vde69
17.05.20
✎
13:05
|
поробуй
appCart::get_CatalogOptions())->query |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |