|
|
|
| Функция получает ссылки на два массива (которые она должна перелопатить рекурсивно передвигаясь по вложенным подмассивам), при неком условии, ссылки на массивы надо поменять местами
Я делаю так:
<?
function bride2Arrays(&$bestArray, &$secondArray, $qalityRatio) {
if($qalityRatio > 1.0) { // Меняем местами ссылки на массивы
$tmp = &$bestArray;
$bestArray = &$secondArray;
$secondArray = $tmp;
}
...
|
Однако, что-то я не уверен, что так именно ссылки поменяются местами.
Как вы думаете? Ничего я не напутал? | |
|
|
|
|
|
|
|
для: Eugene77
(26.06.2012 в 10:57)
| | потерто.... | |
|
|
|
|
|
|
|
для: Eugene77
(26.06.2012 в 10:57)
| | Собственно никаких неожиданностей тут не должно быть... а почему сомнение возникло, из-за &? | |
|
|
|
|
|
|
|
для: cheops
(26.06.2012 в 15:55)
| | >Собственно никаких неожиданностей тут не должно быть... а почему сомнение возникло, из-за &?
Потому что РНР сам преобразовывает типы.
Когда я передаю временной переменной ссылку - возможно, она ссылку и получает,
но когда я присваиваю эту переменную следующей, то не будет ли присвоено содержимое по ссылке? | |
|
|
|
|
|
|
|
для: Eugene77
(28.06.2012 в 09:42)
| | Преобразуются всегда только базовые типы, кроме того, в PHP все является ссылкой, даже переменная... просто язык написан на C++ и от этой особенности никуда не деться, оперирование идет не именованными и не именованными объектами памяти, а ссылками на них. | |
|
|
|
|
|
|
|
для: cheops
(28.06.2012 в 11:52)
| | > кроме того, в PHP все является ссылкой, даже переменная... просто язык написан на C++ и от этой особенности никуда не деться, оперирование идет не именованными и не именованными объектами памяти, а ссылками на них.
Я вас не понимаю. Возможно это: "оперирование идет не именованными и не именованными объектами памяти" надо читать как "оперирование идет не именованными и неименованными объектами памяти" - но так или иначе, для меня всё одно - абракадабра.
Если, присваивались бы ссылки при присвоении по "=", то,
<?
$a = 1;
$b = $a;
$c = $a;
$b = 2;
echo $c;
|
давало бы 2 | |
|
|
|