powered by simpleCommunicator - 2.0.40     © 2025 Programmizd 02
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / PHP: Как получить новую ссылку?
9 сообщений из 9, страница 1 из 1
PHP: Как получить новую ссылку?
    #39875172
Alibek B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мне нужно получить массив произвольного размера, каждый элемент которого бы указывал на отдельную ссылку/переменную.
Код: php
1.
2.
3.
4.
5.
6.
$row = [];
foreach ($columns as $column)
{
	$v = null;
	$row[] = &$v;
}


Но если делать так, то все элементы $row содержат одну и ту же ссылку.
Если добавить unset($v), то это не помогает — тогда в $row[] остаются не ссылки, а значения.
Можно сделать так:
Код: php
1.
2.
3.
4.
5.
6.
7.
$set = [];
$row = [];
foreach ($columns as $column)
{
	$set[] = null;
	$row[] = &$set[count($set)-1];
}


А можно ли обойтись без вспомогательного массива?
...
Рейтинг: 0 / 0
PHP: Как получить новую ссылку?
    #39875263
TolikD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Зачем делать себе лишние головняки и много кода, когда можно присваивать ссылку в момент присваивания значений. С другой стороны, зачем нужен массив ссылок - для того, чтобы присваивать массив значений! То есть второй массив полюбому нужен.
...
Рейтинг: 0 / 0
PHP: Как получить новую ссылку?
    #39875272
Alibek B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Потому что мне нужно в одном вызове передать заранее неизвестное количество переменных по ссылке.
И чтобы это сделать, я использую call_user_func_array, передавая список аргументов в массиве, но в этом массиве значения должны быть ссылками.
...
Рейтинг: 0 / 0
PHP: Как получить новую ссылку?
    #39875323
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alibek B.в этом массиве значения должны быть ссылкамиНа ЧТО должны ссылаться элементы массива?
...
Рейтинг: 0 / 0
PHP: Как получить новую ссылку?
    #39875334
Alibek B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На некую безымянную область памяти, которая будет зачищена после того, как на нее не останется ссылок. А пока ссылки есть — к ним можно обратиться через массив по индексу.
...
Рейтинг: 0 / 0
PHP: Как получить новую ссылку?
    #39875336
TolikD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: php
1.
2.
3.
4.
function newref(&$var) { }
$row = [];
foreach ($columns as $column)
	newref($row[]);


Должно работать )) но нужно делать по-другому
...
Рейтинг: 0 / 0
PHP: Как получить новую ссылку?
    #39875353
Alibek B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну да, что-то вроде этого, только без лишних сущностей в виде вспомогательного массива или функции.
Я думал есть способ явно указать синтаксисом, что я хочу создать новую ссылку.
...
Рейтинг: 0 / 0
PHP: Как получить новую ссылку?
    #39875365
TolikD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Это задокументированный метод )
...
Рейтинг: 0 / 0
PHP: Как получить новую ссылку?
    #39875392
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alibek B.На некую безымянную область памяти, которая будет зачищена после того, как на нее не останется ссылок. А пока ссылки есть — к ним можно обратиться через массив по индексу.Вы только что кратко описали, как работают, в частности, элементы массивов. Ну и переменные так же.
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / PHP: Как получить новую ссылку?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]