Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
8 / 8 / 3
Регистрация: 18.04.2014
Сообщений: 56

Два идентичных куска кода работают по-разному

22.06.2015, 10:13. Показов 746. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Разбираю чужой код.

В одном случае
PHP
1
2
3
4
5
6
7
 $realty = new Realty();
 $ass_user = new User();
        $ass_user->retrieve($realty->assigned_user_id);
        // $ass_user->retrieve("1");
 
        $phone = $offer->appendChild($dom->createElement('phone'));
        $phone->appendChild($dom->createTextNode($ass_user->phone_work.';'.$ass_user->phone_mobile));
Работает. выдает телефоны пользователей создавших тот или иной объект недвижимости.

В другом
PHP
1
2
3
4
5
6
7
8
9
10
11
$realty = new Realty();
        $user = new User();
        //$user->retrieve(1);
        $user->retrieve($realty->assigned_user_id);
 
        if ($element == 'phone') {
            if ($user->phone_mobile!=''){
 
                $mDom = $dom_parent->appendChild($this->dom_root->createElement($element));
                $mDom->appendChild($this->dom_root->createTextNode($user->phone_work));
                }
Не работает. Хотя код аналогичный. У меня вопрос. Мне функцию retrieve копать? Если пишу retrieve(1) - работает с телефонами пользователя с id=1
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
22.06.2015, 10:13
Ответы с готовыми решениями:

Совместить два куска кода
Здравствуйте! Помогите пожалуйста совместить два куска кода Первый кусок: проверка если на странице со слагом "test"...

Замена програмно куска кода в файле .php другим куском кода
Мне необходимо програмно заменить кусок кода в файле .php Есть файл .php, в котором надо заменить кусок кода другим куском кода. Для...

Состыковать два куска кода?
1 кусок кода (Правда этот год я еще не проверил будет ли он работать на моей теме) 2 Нашел плагин WP Sort Posts он не...

3
 Аватар для Laroux
172 / 167 / 75
Регистрация: 21.11.2014
Сообщений: 1,490
23.06.2015, 09:43
ну так построчно прямо выводите и смотрите, что отдает каждая строка
0
261 / 236 / 161
Регистрация: 10.12.2011
Сообщений: 513
23.06.2015, 09:57
PticaOgnennaya, проясните момент использования указателя $this (указателя на текущий объект(экземпляр) который используют). Вы этот кусок кода из класса выдрали? Или он описан вне класса?

PHP
1
2
$mDom = $dom_parent->appendChild($this->dom_root->createElement($element));
$mDom->appendChild($this->dom_root->createTextNode($user->phone_work));
Если Вы используете его вне класса то результат

Хотя код аналогичный.
Ну никак не будет аналогичным.

Покажите полностью что Вы там сделали. Это выдернуто из контекста.
0
8 / 8 / 3
Регистрация: 18.04.2014
Сообщений: 56
23.06.2015, 10:51  [ТС]
Решилось таким образом. То есть добавлением строчки
PHP
1
$user->retrieve($this->bean->assigned_user_id);
вместо
PHP
1
$user->retrieve(1);
Код прописан внутри класса Replacer, а assigned_user_id - переменная класса Realty. Не совсем понимаю почему здесь используется $this.

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
user = new User();
        //$user->retrieve(1);
        $user->retrieve($this->bean->assigned_user_id);
        
        if ($element == 'phone')
        {
            if ($user->phone_mobile!='')
            {
 
                $mDom = $dom_parent->appendChild($this->dom_root->createElement($element));
                $mDom->appendChild($this->dom_root->createTextNode($user->phone_mobile));
                }
            if ($user->phone_work!='') {
                $mDom = $dom_parent->appendChild($this->dom_root->createElement($element));
                $mDom->appendChild($this->dom_root->createTextNode($user->phone_work));
            }
 
        }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
23.06.2015, 10:51
Помогаю со студенческими работами здесь

Два практически идентичных кода, но один почему-то работает медленней
Почему мой код работает намного медленнее? Ведь по сути одно и то же! Мой код: int ans = 0; set<int> check; for...

Нужно соединить два куска кода
1 .8086 .MODEL SMALL .STACK 100h .DATA Count EQU 1 Buffer DB 80, ?, 80 DUP (' ') Handle DW ? PathName ...

Немного запутался.соединить два куска кода
Доброго времени суток. Чет я туплю сегодня... Есть прием с порта char unitID_in; char command_in; char data_in; ...

Как правильно сделать два почти идентичных ajax запроса без копирования дополнительного кода?
У меня есть два запроса ajax. Один выполняется при загрузке страницы и выдает данные, например за последний месяц, второй запрос...

По разному работает сравнение числа в идентичных строках
Здравствуйте. Прошу разъяснить мне следующую ситуацию, а то у меня уже мозги набекрень съехали. В программе Delphi 7 есть строка вида ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Подключение Box2D v3 к SDL3 для Android: физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru