@phpgeeks

Страница 89 из 8430
Сергей
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
Скажу больше <?php $a = array(); $b = 3; $c = &$b; $a[0] = $c; $b = 5; echo $a[0]; ?> Тоже не работает
И тут получается, что ты передал ссылку на 3 и 3 положил в массив

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: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
А в с# никто не шарит?
Есть конфа по .NET

Это на заметку:)

malli
17.05.2016
07:56:41
Есть конфа по .NET
Класс, а есть ссыль?

Oleg
17.05.2016
07:57:19
Как их отключить
хз - этого не знаю - yt gjkmpjdfkcz

Maxim
17.05.2016
07:57:28
Класс, а есть ссыль?
https://telegram-club.ru/go/teldotnet

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

malli
17.05.2016
07:58:00
https://telegram-club.ru/go/teldotnet
Что-то не открывается

Google
Maxim
17.05.2016
07:58:33
Походу, удалили группу(

Неделю назад еще была

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

https://telegram.me/netroom

Сергей
17.05.2016
08:07:26
WeBrowser грузит страницу с ошибками сценария
гугли по ie,потому что webbrowser построен на движке ie

Артур
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
но его работа в риал-тайме это большой плюс)
Сервера на ноде немного стремно писать.

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)

Страница 89 из 8430