
Сергей
16.05.2016
22:30:06
Скажу больше
<?php
$a = array();
$b = 3;
$c = &$b;
$a[0] = $c;
$b = 5;
echo $a[0];
?>
Тоже не работает
Однако
<?php
class Test {
public $bar = 1;
}
$test = new Test();
$foo = array();
$a[0] = $test;
$test->a = 2;
echo $a[0]->a;
?>
Это выведет 2, что собственно я только что нашел в доке - объекты железно ссылочные

Google

Сергей
16.05.2016
22:36:58
Почему этот язык такой сложный :(

? Snyp
16.05.2016
22:37:44
а ты почитай что делает функция array_push с неофицальных источников.

Сергей
16.05.2016
22:38:14
Зачем, ведь я только что выяснил, что в массив никак не положишь ссылку на примитивный тип

? Snyp
16.05.2016
22:38:38
ну чего тогда париться?

Сергей
16.05.2016
22:38:45
А объект он и будет ссылкой, если руками его не скопировать
Ну ты сортировал n-нарные деревья пыхой? :)

? Snyp
16.05.2016
22:39:17
не

Сергей
16.05.2016
22:39:36
Вот там я ударился об эти ссылки :(

Денис
16.05.2016
22:40:46
В пхп ссылка это то, что ссылается на конкретное значение

Сергей
16.05.2016
22:41:18
Т.е это стоит воспринимать, как магию?

Денис
16.05.2016
22:41:32

Google

Денис
16.05.2016
22:41:52
Ты ожидал поведения указателя
Указатель!=ссылка
http://php.net/manual/ru/language.references.arent.php
Ну и основной раздел http://php.net/manual/ru/language.references.php

Сергей
16.05.2016
22:43:33

Денис
16.05.2016
22:45:05
$c указывает на значение $b
Именно на значение в текущий момент, а не на $b
Я немного попутал в начале)

Сергей
16.05.2016
22:46:22
Я тогда не совсем понимаю разницу между $c = $b и $c = &$b

Денис
16.05.2016
22:46:52
Не происходит копирования данных из одного места памяти в другое
Во втором случае

Сергей
16.05.2016
22:47:05
Т.е частично все же это указатель

Денис
16.05.2016
22:48:05
Это ссылка на конкретное значение, а не на адрес ячейки в памяти

Сергей
16.05.2016
22:48:49
Ну это абстракция такая пхпшная, типа?

Денис
16.05.2016
22:50:55
Ну я же кинул доку) Ссылки в PHP - это средство доступа к содержимому одной переменной под разными именами. Они не похожи на указатели C; например, вы не можете делать вычисления над указателями, они не являются реальными адресами в памяти и пр. Подробнее в Чем ссылки не являются. Вместо этого указатели в PHP - это псевдонимы в таблице имен переменных. В PHP имя переменной и её содержимое - это разные вещи, поэтому одно содержимое может иметь разные имена. Ближайшая аналогия - имена файлов Unix и файлы - имена переменных являются элементами каталогов, а содержимое переменных - это сами файлы. Ссылки в PHP - аналог жёстких ссылок (hardlinks) в файловых системах Unix.

Сергей
16.05.2016
22:52:35
Так, деффицит взаимопонимания

Денис
16.05.2016
22:52:50
Наверно)

Сергей
16.05.2016
22:53:19
Вопрос изначально в том, что в массиве почему-то на примитивные типы не хранятся ссылки (я понял, что это не указатели в сишном понимании)
т.е если я сделаю переменную и несколько ссылок на нее, то по всем ссылкам получу значение именно первоначальной переменной, это да
но если я пихну ссылку в массив, она почему-то перестает ей быть

Google

Денис
16.05.2016
22:55:17
В массив получается пхнется ссылка на конкретное значение

Сергей
16.05.2016
22:56:05
Тогда бы это выводило 5, или я не понимаю что-то? :)
Скажу больше
<?php
$a = array();
$b = 3;
$c = &$b;
$a[0] = $c;
$b = 5;
echo $a[0];
?>
Тоже не работает

Денис
16.05.2016
22:56:36
Не, я говорю, что именно на значение ссылка будет в массиве
Вот как ты присвоил нулевой элемент $с
Он в массив положил ссылку на троку
Тройку
И все

Сергей
16.05.2016
22:57:49
А, там $a[0] = &$c надо - тогда все правильно

Денис
16.05.2016
22:58:18

Сергей
16.05.2016
22:58:46
?
<?php
$a = array();
$b = 3;
$a[0] = &$b;
$b = 5;
echo $a[0];
?>
Вот это работает так, как я ожидал. Видимо, затупил где-то.

Сергей
16.05.2016
22:59:46
Но запушить по ссылке всё равно не даст. Да и фиг с ним.

Денис
16.05.2016
23:00:52
Норм, разобрались)

Сергей
16.05.2016
23:02:19
Непривычно после других языков. Но чето работать никуда кроме пыхи не берут, блин)

Денис
16.05.2016
23:05:51
Ну в каждом языке свои особенности и костыли)
<?php
$a = array();
$b = 3;
$a[] = &$b;
$b = 5;
echo $a[0];
И так работает)

Сергей
16.05.2016
23:07:50
$a[] = &$b; - это он в конец массива добавляет или просто инициализирует массив так?

Денис
16.05.2016
23:08:07
В конец добавляет

Google

Денис
16.05.2016
23:08:16
И инициализирует
Сначала инициализируется, потом добавляет)
Погоди, его в первой строчке инициализировали ведь
Прост кинул в конец массива
Все, я спать, а то давно не спал

Сергей
16.05.2016
23:10:57
Спок

malli
17.05.2016
07:53:59
А в с# никто не шарит?
Доброе утро всем

Admin
ERROR: S client not available

Oleg
17.05.2016
07:54:46

malli
17.05.2016
07:55:14
спрашивай
WeBrowser грузит страницу с ошибками сценария
Как их отключить
Или добавить мб плагин какой чтоб нормально прогружалось

Maxim
17.05.2016
07:56:20
Это на заметку:)

malli
17.05.2016
07:56:41

Oleg
17.05.2016
07:57:19

Maxim
17.05.2016
07:57:28

Oleg
17.05.2016
07:57:28
не пользовался*

malli
17.05.2016
07:58:00

Google

Maxim
17.05.2016
07:58:33
Походу, удалили группу(
Неделю назад еще была

Артур Евгеньевич
17.05.2016
08:03:57
Так давайте возродим)))
https://telegram.me/netroom

Сергей
17.05.2016
08:07:26

Артур
17.05.2016
08:10:06
всем привет))

Артур Евгеньевич
17.05.2016
08:10:13
Привет!

Maxim
17.05.2016
08:11:36

Владислав
17.05.2016
08:16:32
привет

Артур
17.05.2016
08:24:26
решил освоить ноде
почитал про него довольно не плохая вещь)
я конечно не любитель ява скрипта )
но его работа в риал-тайме это большой плюс)
если над ним будут работать то за ним будущее )))

Maxim
17.05.2016
08:26:22

Артур
17.05.2016
08:26:31

Maxim
17.05.2016
08:26:54
почему ?)
В ты когда либо пробовал написать простейший роутинг?

Владислав
17.05.2016
08:27:06
да и распыляться не стоит)

Артур
17.05.2016
08:27:15

Артур Евгеньевич
17.05.2016
08:28:09
аналог ноды на PHP)