Я получаю post_id из postmeta как:
$post_id = $wpdb->get_results("SELECT post_id FROM $wpdb->postmeta WHERE (meta_key = 'mfn-post-link1' AND meta_value = '". $from ."')");
когда я пытаюсь, у print_r($post_id);
меня есть такой массив:
Array
(
[0] => stdClass Object
(
[post_id] => 140
)
[1] => stdClass Object
(
[post_id] => 141
)
[2] => stdClass Object
(
[post_id] => 142
)
)
и я не знаю, как пройти по нему, и как я могу получить такой массив
Array
(
[0] => 140
[1] => 141
[2] => 142
)
Есть идеи, как я могу это сделать?
Ответы:
Самый простой способ - JSON-кодировать ваш объект, а затем декодировать его обратно в массив:
Или, если хотите, вы также можете обойти объект вручную:
источник
$array = json_decode($object,true)
?json_decode(json_encode($object), True)
возвращенный массив отличается от цикла foreach. Цикл foreach возвращает массив в запрошенном OP формате.Очень просто: сначала превратите ваш объект в объект json, это вернет строку вашего объекта в представителя JSON.
Возьмите этот результат и декодируйте с дополнительным параметром true, где он преобразуется в ассоциативный массив
источник
Попробуй это:
источник
Вы можете преобразовать объект std в массив следующим образом:
источник
Для одномерных массивов:
Для многомерного массива:
источник
ARRAY_A - это аргумент типа output_type. Это может быть одна из четырех предопределенных констант (по умолчанию OBJECT):
См .: http://codex.wordpress.org/Class_Reference/wpdb
источник
При преобразовании объекта класса STD в массив. Преобразуйте объект в массив с помощью функции массива php.
Попробуйте воспользоваться следующим фрагментом кода.
источник
Вы можете попробовать это:
источник
Использование ArrayObject из Std или создание собственного
вы можете использовать метод build в новом классе:
или передайте новый объект в
источник
$existingStdClass
есть свойство, которое является другим,stdClass
то это свойство остается stdClass в результирующем массиве. Если вам нужно что-то, что работает рекурсивно, похоже, вам нужно использовать методы jsonПредположим, $ post_id - это массив $ item
сильный текст
источник
если у вас есть массив, а элемент массива - это
stdClass
элемент, то это решение:теперь
stdClass
был заменен массивом внутри массива как новый элемент массиваисточник
Есть два простых способа преобразовать объект stdClass в массив
и другое
или вы можете просто создать массив с помощью цикла foreach
источник
У меня есть функция,
myOrderId($_GET['ID']);
которая возвращает многомерный OBJ. как строку .Ни один из других лайнеров меня не устроил.
Это сработало:
источник