Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.51/53: Рейтинг темы: голосов - 53, средняя оценка - 4.51
2 / 2 / 0
Регистрация: 17.08.2012
Сообщений: 117
1

Перебрать массив с элементами stdClass Object

09.05.2013, 21:00. Показов 10419. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
С праздником победы, уважаемые форумчане!
Дабы обезопасить свой мозг от поломки, прошу Вашего совета!

Имеется массив вида
PHP
1
2
3
$hfytt = get_the_terms($post->ID, 'country');
 
print_r($hfytt);
PHP
1
2
3
Array ( [4] => stdClass Object ( [term_id] => 4 [name] => Австрия [slug] => avstria [term_group] => 0 [term_taxonomy_id] => 4 [taxonomy] => country [description] => [parent] => 0 [count] => 3 [object_id] => 558 )
          [13] => stdClass Object ( [term_id] => 13 [name] => Германия [slug] => germany [term_group] => 0 [term_taxonomy_id] => 13 [taxonomy] => country [description] => [parent] => 0 [count] => 1 [object_id] => 558 ) 
          [37] => stdClass Object ( [term_id] => 37 [name] => Чехия [slug] => chehiya [term_group] => 0 [term_taxonomy_id] => 38 [taxonomy] => country [description] => [parent] => 0 [count] => 1 [object_id] => 558 ) )
Задача перебрать элементы, в данном случае три, сравнить названия страны, и в соответствии с определенным названием присвоить определенное значение новой переменной. Все значения новой переменной загнать в массив.

Пытался прогнать через foreach, но получаю ошибку, связанную с stdClass Object.

Вот что я делал

PHP
1
2
3
foreach($hfytt as $hfyt){
if($hfytt[4]->name == 'Австрия'){$kjewo = 'avstriya_field';}elseif($hfytt[13]->name == 'Германия'){$kjewo = 'german_field';}elseif($hfytt[37]->name == 'Чехия'){$kjewo = 'cheh_field';}
$kjewow = array($kjewo);}
В итоге я хотел получить $kjewow как массив со значениями.

Столкнулся с проблемами:
1. Цикл foreach не дружит с массивом, содержащим stdClass Object ?
2. Правильно ли сделал вывод значений $kjewo в массив $kjewow ?


Буду благодарен за помощь и еще раз с праздником!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.05.2013, 21:00
Ответы с готовыми решениями:

Работа с stdClass Object
<?php $client = new SoapClient("http://www2.tvh.be/axis2/services/TvhwsService?wsdl"); ...

stdClass Object извлечь данные
Есть объект $obekt мне нужно получить определенные его свойства, например, $inName = $obekt; ...

Как извлечь данные из stdclass object
При обращение к VK API мне вернулась Json строка в итоге получаю: $res =...

Вывод stdClass Object (SOAP)
Не пинайте сильно, я только учусь. В общем, пытаюсь разобраться с Soap. Php скрипт по print_r...

4
13208 / 6596 / 1041
Регистрация: 10.01.2008
Сообщений: 15,069
10.05.2013, 07:54 2
PHP
1
2
3
4
5
6
7
8
9
10
11
$country_fields = array(
    'Австрия'  => 'avstriya_field',
    'Германия' => 'german_field',
    // ...
);
 
$fields = array();
foreach ($hfytt as $item) {
    $fields[] = ($country_fields[$item->name]);
}
print_r($fields);
rafaello, Не помешало бы изучить алгоритмы и правила форматирования кода.
1
2 / 2 / 0
Регистрация: 17.08.2012
Сообщений: 117
10.05.2013, 16:43  [ТС] 3
Да, когда все получается, только и остается сказать, что "PHP - классная штука!"

Добавлено через 5 часов 23 минуты
Ой, пожалуйста, еще вопрос до кучи!
Он не касается этой темы, но касается цикла foreach.

Как вывести первые пять элементов foreach с одним <div id="hfyr">, а следующие с другим <div id="kduw">
0
0 / 0 / 0
Регистрация: 28.01.2016
Сообщений: 13
10.02.2016, 15:40 4
Счетчик поставь в форич, считай элементы и присваивай что нужно
0
162 / 161 / 66
Регистрация: 28.06.2015
Сообщений: 576
10.02.2016, 16:06 5
Цитата Сообщение от rafaello Посмотреть сообщение
Как вывести первые пять элементов foreach с одним <div id="hfyr">, а следующие с другим <div id="kduw">
Вобще 5 элементов с одним и тем же id - это не комильфо.. Но все же:
PHP
1
2
3
foreach ($variable as $key => $value) {
  echo $key <= 5 ? "<div id='hfyr' >" : "<div id='kduw' >";
}
0
10.02.2016, 16:06
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.02.2016, 16:06
Помогаю со студенческими работами здесь

Cannot use object of type stdClass as array
Здравствуйте, есть код, который должен писать, является ли человек участником группы и лайкнул ли...

Fatal error: Cannot use object of type stdClass as array in
Установил шаблон на wordpress,все работало нормально,через время в админке белый экран и ошибка ...

Php выдает ошибку Cannot use object of type stdClass as array
помогите я очень плохо разбираюсь в чом дело можете тыкнуть .и сказать что на что заменить и где...

Массив: создать одномерный массив, элементами которого являются двумерные массивы, элементами которых являются записи
создать одномерный массив, элементами которого являются двумерные массивы, элементами которых...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru