Проверить на истинную идентичность множества в PHP?

Там какой-либо путь состоит в том, чтобы проверить на идентичность (т.е. являющийся точно тем же самым объектом, заняв одно и только одно место в памяти) для двух переменных, представляющих множества или объекты? (т.е. когда каждый изменяет объект, названный одной переменной, изменения могут быть замечены в ценности другой переменной, поскольку они указывают на тот же самый объект/множество),

The === operator, for example, checks if two arrays are "identical" in the sense that their elements and their ordering are equal (as opposed to == that doesn't check ordering for arrays, so for $a = [11, 22]; $b = [1 => 22; 0 => 11];, $a == $b is true but $a === $b is false (because in this latter case the ordering differs, arrays being ordered maps).

Мой предполагаемый are_identical функция работала бы как это (несколько как , в Пайтоне):

$a = [11, 22];
$b = [11, 22];
are_identical($a, $b); # => false

$x = [11, 22];
$y = &$x;
are_identical($x, $y); # => true
2
Спасибо @ArtemL, I' m, просто смотря на него...
добавлено автор NeuronQ, источник
Спасибо @ArtemL, I' m, просто смотря на него...
добавлено автор NeuronQ, источник
Я хотел бы упомянуть, что обычно есть решение для вашей проблемы, которая не требует, чтобы вы знали, указывают ли две переменные на то же самое множество. Тем более, что очень легко закончиться с новым множеством в PHP.
добавлено автор dualed, источник
Я хотел бы упомянуть, что обычно есть решение для вашей проблемы, которая не требует, чтобы вы знали, указывают ли две переменные на то же самое множество. Тем более, что очень легко закончиться с новым множеством в PHP.
добавлено автор dualed, источник
Вопросы о Дубликате / подобные вопросы: PHP variable is a reference referenced">stackoverflow.com/questions/4817562/… и stackoverflow.com/questions/1541865/… и also stackoverflow.com/questions/3148125/…
добавлено автор SDC, источник
Вопросы о Дубликате / подобные вопросы: PHP variable is a reference referenced">stackoverflow.com/questions/4817562/… и stackoverflow.com/questions/1541865/… и also stackoverflow.com/questions/3148125/…
добавлено автор SDC, источник
Вероятно, это поможет вам.. stackoverflow.com/questions/5153528/…
добавлено автор Artem L, источник
Вероятно, это поможет вам.. stackoverflow.com/questions/5153528/…
добавлено автор Artem L, источник

6 ответы

Вы не можете сделать этого со множествами в PHP; однако, можно измениться код, чтобы использовать ArrayObject и делают сравнения, используя === оператор.

В PHP === оператор только возвратится верный, если объекты будут тем же самым случаем того же самого класса (т.е. они обращаются к тому же самому объекту в памяти).

3
добавлено

Вы не можете сделать этого со множествами в PHP; однако, можно измениться код, чтобы использовать ArrayObject и делают сравнения, используя === оператор.

В PHP === оператор только возвратится верный, если объекты будут тем же самым случаем того же самого класса (т.е. они обращаются к тому же самому объекту в памяти).

3
добавлено

Объекты в PHP могут быть проверены, чтобы видеть, являются ли они тем же самым случаем при помощи тройного равного:

if($obj1 === $obj2) {....}

Однако множества не объекты в PHP, таким образом, тройная равная уловка не работает на них в способе, которым это делает для объектов.

Однако эта PHP страница руководства может помочь также: Определение ссылок. Есть несколько функций в комментариях, которые утверждают, что были в состоянии обнаружить переменные, которые являются ссылками друг на друга.

1
добавлено

Объекты в PHP могут быть проверены, чтобы видеть, являются ли они тем же самым случаем при помощи тройного равного:

if($obj1 === $obj2) {....}

Однако множества не объекты в PHP, таким образом, тройная равная уловка не работает на них в способе, которым это делает для объектов.

Однако эта PHP страница руководства может помочь также: Определение ссылок. Есть несколько функций в комментариях, которые утверждают, что были в состоянии обнаружить переменные, которые являются ссылками друг на друга.

1
добавлено

Хорошо, спасибо Артем Л и SDC: да, другие спросили об этом, но в другой форме, таким образом, я не знал, что искать.

Этот отрывок кода, кажется, заполняет цель моего are_identical (инвертированная) функция:

function is_reference_to(&$a, &$b)
{
    if ($a !== $b) return false;

    $temp = $a;
    $checkval = $a === null ? "" : null;
    $a = $checkval;

    if ($b === $checkval) {
        $a = $temp;
        return true;
    } else {
        $a = $temp;
        return false;
    }        
}
0
добавлено

Хорошо, спасибо Артем Л и SDC: да, другие спросили об этом, но в другой форме, таким образом, я не знал, что искать.

Этот отрывок кода, кажется, заполняет цель моего are_identical (инвертированная) функция:

function is_reference_to(&$a, &$b)
{
    if ($a !== $b) return false;

    $temp = $a;
    $checkval = $a === null ? "" : null;
    $a = $checkval;

    if ($b === $checkval) {
        $a = $temp;
        return true;
    } else {
        $a = $temp;
        return false;
    }        
}
0
добавлено
phpGeeks
phpGeeks
3 620 участник(ов)

Best PHP chat Еще: @dbGeeks - базы данных @phpGeeksJunior - новичкам @moscowProgers - IT Москва @ebanoePhp - весёлый канал о PHP @laravel_pro - Laravel @jobGeeks - вакансии @jsChat - JS Правила: https://t.me/phpGeeks/764859 ДР - 28.03.2016

PHP
PHP
1 309 участник(ов)

Группа про современный PHP. Обсуждаем ООП, TDD, BDD, DDD, SOLID, GRASP и прочие крутые базворды Для ознакомления: https://gist.github.com/mkusher/711bd46f0b62fbae851182e6fb3b1839 Группа PHP для новичков @phpGeeksJunior Вакансии: https://t.me/fordev

PHP — вакансии, поиск работы и аналитика
PHP — вакансии, поиск работы и аналитика
1 251 участник(ов)

Публикуем вакансии и запросы на поиск работы по направлению PHP, Laravel, Symfony, Yii и т.д. Здесь всё: full-time, part-time, remote и разовые подработки. См. также: @qa_jobs, @devops_jobs, @javascript_jobs, @nodejs_jobs, @uiux_jobs, @products_jobs

phpGeeksJunior
phpGeeksJunior
980 участник(ов)

Группа для новичков. Не стесняйтесь задавать вопросы по php. Не флудить!!!! Правила и полезные ссылки https://gist.github.com/exileed/a53dd0617b35a705ff44b38c8028e6a5 Бест от пхпгикс https://t.me/best_of_phpgeeks

phpclub.ru
phpclub.ru
872 участник(ов)

Официальный чат phpclub.ru - остерегайтесь подделок #rules Правила группы - уважайте друг друга. Скриншоты -> ссылками. Код -> pastebin.com. Вакансии строго -> https://goo.gl/4bNxym, в чат ссылку. За рекламу и мат - БАН!

Devall | PHP
Devall | PHP
272 участник(ов)

Пристанище для восходящих звёзд разработки, которые перейдут на более адекватные языки. http://combot.org/chat/-1001014863761 Инвайт: j.mp/devallphp