У меня есть массив данных, содержащий объекты stdClass, который выглядит следующим образом, если я делаю print_r($results)
:
Array (
[0] => stdClass Object (
[ID] => 1
)
[1] => stdClass Object (
[ID] => 2
)
[2] => stdClass Object (
[ID] => 3
)
)
Мне нужно получить значения идентификатора в виде строки, разделенной запятой.Для этого я изначально попытался сделать implode(",", $results)
, но это дало ошибки из-за объектов stdClass.Таким образом, после достаточного количества чтения и проверки SO и т. Д., Я дошел до точки, где я могу получить доступ к значению ID для данной записи: $results[0]->ID
.
Однако я не знаю, сколько будет строк из-за этих данных, поступающих из запроса к БД.Итак, мне нужно перебрать каждую строку и добавить это в строку.
Я - среди прочего - попробовал это:
$i = 0;
foreach ($results as $result){
//$result->ID;
$result[$i]['ID'];
$i++
}
Они возвращают ошибку:
Неустранимая ошибка: неперехваченная ошибка: невозможно использовать объект типа stdClass в качестве массива
На данный момент я буквально не представляю, как получить все значения идентификатора в виде строки, разделенной запятой.
Я извлек много сообщений о SO, в том числе: - 'Невозможно использовать объект типа stdClass в качестве массива' с использованием Wordpress - , перебирая объект stdClass в PHP - PHP Loop stdClass Object
ОБНОВЛЕНИЕ Я получаю эти данные следующим образом:
global $wpdb;
$query = "Select wp_users.ID from wp_users where wp_users.ID not in ( select wp_usermeta.user_id from wp_usermeta where wp_usermeta.meta_key = 'grp2_profile_visiblity' and wp_usermeta.meta_value = 1 order by wp_usermeta.user_id ) order by wp_users.ID";
$results = $wpdb->get_results( $query, OBJECT );
Спасибо