[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Как сократить мой код
abdula81
Как сократить данный код? Чтобы не использовать промежуточную переменную $temp

function get_data(){
...
return array(
'a' => 100,
'b' => 200,
'c' => 300,
);

}

$temp = get_data();
$a = $temp['a'];
$b = $temp['b'];
$c = $temp['c'];


В js насколько я помню можно делать как-то так $a = get_data()['a'];
$b = get_data()['b']; $c = get_data()['c'];
chee
http://php.net/manual/en/function.extract.php

_____________
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации
twin
Цитата (abdula81 @ 10.01.2018 - 09:11)
В js насколько я помню можно делать как-то так $a = get_data()['a'];

В PHP >= 5.6 тоже можно.

_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
abdula81
Точно! Благодарю.
Kusss
list($a, $b, $c) = get_data();
упс, это для
function get_data(){
...
return array(100, 200, 300);
}
Valick
Цитата (mara @ 10.01.2018 - 14:21)
можно прибегнуть к помощи специалистов

кто-то давно веником по морде не получал smile.gif

_____________
Стимулятор ~yoomoney - 41001303250491
Invis1ble
Ещё вариант:

<?php

function
get_data(){
return array(
'a' => 100,
'b' => 200,
'c' => 300,
);

}

['a' => $a, 'b' => $b, 'c' => $c] = get_data();

var_dump($a, $b, $c);


https://3v4l.org/3m8RV

Доступно с php 7.1

https://secure.php.net/manual/en/migration7...or-keys-in-list

_____________

Профессиональная разработка на заказ

Я на GitHub | второй профиль

AllesKlar
abdula81
Не делай так.
Динамическое создание переменных - это зло.
Тебя потом проклянут те, кто твой код будет поддерживать.
Максимум, то что Invis1ble показал, там есть хоть какая-то инициилизация переменных.

Но лучше, меняй алгоритм.

_____________
[продано копирайтерам]
Invis1ble
Цитата (abdula81 @ 10.01.2018 - 13:32)
Точно! Благодарю.

Ага, только учти, что куча Г типа get_data()['a']...get_data()['z'] запустит на выполнение функцию ровно столько раз, сколько ты напишешь get_data() wink.gif

_____________

Профессиональная разработка на заказ

Я на GitHub | второй профиль

killer8080
list($a, $b, $c) = array_values(get_data());

Главное чтоб функция всегда возвращала массив, никаких миксед, иначе будет ошибка
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.