Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
39 / 9 / 10
Регистрация: 19.09.2016
Сообщений: 1,076

Как увидеть содержимое окружения переменных?

22.02.2020, 12:38. Показов 734. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
У меня ступор с функцией extract. Не понимаю, как именно присваиваются имена переменным и значения в многомерных массивах. Как выглядят распакованные данные, и где можно их все увидеть? Например, есть такой, чисто академический, надуманный пример:

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
$mainArray = 
    [
    'first0' => 
        [
            'first1' => 'первый',
            'second2' => 'второй'
        ], 
    'second0' => 
        [
            'first1' => 'третий',
            'second2' => 'четвертый'
        ]
    ];
function ext ($flag, $arr = [])
{
    if ($flag)
    {
        return extract($arr);
    }
}
 
ext(1, ['newArray' => $mainArray]);
после extract будет одна переменная $newArray, в которой будет массив mainArray, который бел передан в функцию?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
22.02.2020, 12:38
Ответы с готовыми решениями:

Как в Keil 5 увидеть содержимое массива?
В программе есть массив. Запустил Start Debug. Все прошилось. Микроконтроллер заработал. При помощи Watch1 в Кейле выбрал этот массив....

Как получить значения всех доступных переменных окружения
Вопрос глупый - как мне на моей ASP-страничке получить значения всех доступных переменных окружения.

Работа с GetEnvironmentStrings: как получить список переменных окружения
Добрый день. У меня следующий вопрос: как в C# работать с функцией GetEnvironmentStrings? Мои корявые руки заставляют возвращать какие-то...

4
Невнимательный
 Аватар для ft4l
3107 / 1284 / 358
Регистрация: 08.02.2013
Сообщений: 7,538
Записей в блоге: 2
22.02.2020, 14:08
Экспериментально ...
Всегда поможет тест ))
PHP
1
2
3
4
5
6
7
8
9
10
<?php
$A = ['a1'=>['a1_1'=>'x', 'a1_2'=>'y'], 'a2'=>2];
$B = ['b1'=>1, 'b2'=>2];
echo 'распаковано переменных: '. extract($A) ."\n";
 
function f($ARR=[]) { echo 'f распаковано переменных: '. extract($ARR) ."\n"; echo 'f $b2='."$b2\n"; }
f($B);
 
echo '$a2='.$a2."\n";
echo '$b2='.$b2."\n";
распаковано переменных: 2
f распаковано переменных: 2
f $b2=2
$a2=2
PHP Notice: Undefined variable: b2 in Standard input code on line 9
$b2=
0
79 / 48 / 22
Регистрация: 30.06.2016
Сообщений: 187
22.02.2020, 14:10
ключи переданного в extract массива, станут именами переменных
если бы вы написали
PHP
1
ext(1, $mainArray);
то получили бы две новых переменных
PHP
1
2
3
4
5
6
7
8
$first0 =  [
     'first1' => 'первый',
     'second2' => 'второй'
];
$second0 =  [
    'first1' => 'третий',
    'second2' => 'четвертый'
];
1
39 / 9 / 10
Регистрация: 19.09.2016
Сообщений: 1,076
22.02.2020, 14:47  [ТС]
Да, вроде все просто, но вопрос остается открытым- есть ли возможность по команде проверить, какие есть переменные в окружении на момент запроса?
0
Невнимательный
 Аватар для ft4l
3107 / 1284 / 358
Регистрация: 08.02.2013
Сообщений: 7,538
Записей в блоге: 2
22.02.2020, 15:07
https://www.cyberforum.ru/showthread.php?t=2584733

Добавлено через 49 секунд
array_keys()

Добавлено через 12 минут
Вообще extract() не безопасная функция, в некоторых случаях
Например так может затереть $_SERVER
xxx@xx MINGW32 ~
$ cat <<\X | /c/x/php/php
<?php
$A = ['a1'=>['a1_1'=>'x', 'a1_2'=>'y'], '_SERVER'=>2];
echo 'распаковано переменных: '. extract($A) ."\n";
var_export($_SERVER);
> X
распаковано переменных: 2
2
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
22.02.2020, 15:07
Помогаю со студенческими работами здесь

Получение переменных окружения
Интересует как правильно получить список переменных окружения(среды). Т.е то что выводит команда SET в консоли Есть код по примеру...

Установка переменных окружения
Можно ли устанавливать переменные окружения иным способом, через их прописывание в autoexec.bat? Можно было бы и так, но 2 косяка, которые...

Установка переменных окружения
Работаю под отдельной учетной записью. Установил программу в папку /Programma (установка была из консоли, установщик спрашивал, в какую...

Принцип переменных окружения сервера
Здравствуйте, ВСЕ, Какой принцип переменных окружения сервера? Как, например, сервер берет значение переменной 'HTTP_REFERER'? ...

Вывод имен и значений переменных окружения
Если кто-то сможет помочь, буду ооочень благодарен. Нужно вывести список имен и значений переменных окружения, при наличии аргумента –t...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru