Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.02.2015, 14:04   #1
L6go1as
Форумчанин
 
Регистрация: 20.10.2011
Сообщений: 433
По умолчанию Что за запись ?

Уважаемые, есть код:

Код:
$array_1= array(
		array("test", "описание", "N", array('checkbox'))
	);
if($REQUEST_METHOD == "POST")
{
foreach($array_1 as $el)
		{
                        $name = $el[0];
			$val = ${$name};
}
}
Вот что за запись: $val = ${$name};, как она работает и что она делает ?

Ибо есть написать $val = $el[2]; значение останется "N", даже если в чекбоксе посталю галку.
Такое ощущение, что "$val = ${$name};" = "$val = $_REQUEST['test'];"
L6go1as вне форума Ответить с цитированием
Старый 16.02.2015, 14:25   #2
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

http://php.net/manual/en/language.va...s.variable.php
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 16.02.2015, 14:33   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Для доступа к элементам массива могут использоваться как квадратные, так и фигурные скобки (например, $array[42] и $array{42} означают одно и то же в вышеприведенном примере).
https://php.net/manual/ru/language.types.array.php
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 16.02.2015, 15:01   #4
L6go1as
Форумчанин
 
Регистрация: 20.10.2011
Сообщений: 433
По умолчанию

Спасибо за ссылки, вроде бы просвет начал появляться.

Все равно не понятно, почему в контексте выше приведенного кода "$val = ${$name};" = "$val = $_REQUEST['test'];" ?

Или после POST, при условии использовании $$ идет сдвиг и N -> Y изменяется. В то время, когда указать явно $val = $el[2]; - значение по прежнему будет "N" ?
L6go1as вне форума Ответить с цитированием
Старый 16.02.2015, 15:11   #5
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Ну поставьте breakpoint в дебагере и посмотрите, или выведите их.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 16.02.2015, 15:18   #6
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

PHP код:
$array_1= array(
    array(
"test""описание""N", array('checkbox'))
);

foreach(
$array_1 as $el){
    
print_r($el); // $el = Array ( [0] => test [1] => описание [2] => N [3] => Array ( [0] => checkbox ) );
    
$name $el[0]; // $name = 'test';
    
$val = ${$name}; // $val = $test; // Notice: Undefined variable: test

Andkorol вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
что значит данная запись Alexandr- Помощь студентам 1 17.03.2013 10:15
что означает запись a[1:n,1:n] black_shark Помощь студентам 2 10.12.2012 09:32
что означает запись?Чему равно? Yulia13 Помощь студентам 3 23.01.2012 19:01
тип:запись что дальше ? mouse697 Помощь студентам 0 19.04.2009 19:15