2016-02-17 2 views
2

Я запросил базу данных в WordPress с помощью get_results(), и я получаю следующее при сбросе переменной $myrows. Как сделать echo каждой части?Эхо-часть массива

array(1) { 
[0]=>object(stdClass)#215 (2) { 
["location_id"]=> string(1) "5" 
["location_name"]=> string(9) "Liverpool" 
} 
} 

Я хотел бы быть в состоянии иметь следующую переменную сбрасывали является $myrows:

echo '<p>' . $myrows['location-name'] . '</p>'; 
+0

В каком форматировании вы хотите, чтобы они вторят вне дома? – Duniyadnd

+0

@Duniyadnd отредактирован, чтобы показать ответ на ваш вопрос. –

ответ

5

Что вы видите есть массив объектов (в пределах только одного элемента в этом массиве).

$obj = $array[0]; // Change the $array to match your variable name 
echo $obj->location_id; 
echo $obj->location_name; 

В качестве альтернативы, вы можете обновить get_results() вернуть элементы как массив массивов.

Например:

$query = "SELECT * FROM $wpdb->posts"; // Change to suit your needs 
$array = $wpdb->get_results($query, ARRAY_A); 

$arr = $array[0]; // Change the $array to match your variable name 
echo $arr['location_id']; 
echo $arr['location_name']; 

Как правило, вы будете использовать get_results(), чтобы получить несколько строк, так что вы будете использовать foreach() или что-то подобное:

$results = $wpdb->get_results($query, ARRAY_A); 

foreach ($results as $row) { 
    echo $row['location_id']; 
    echo $row['location_name']; 
} 

Если вы только хотели, чтобы получить одну строку , вы можете использовать метод get_row($query, ARRAY_A).

В разделе WordPress Codex есть много информации о классе $wpdb.

-1
if echo part of an array 
foreach($p as $value): 
     echo $value['location_name'],"<br>"; 
endforeach; 

если эхо всего массива

foreach($p as $value): 
     foreach($value as $key=>$val) 
      echo ">>>>>>>",$key,"=$val<br>"; 
    endforeach; 
Смежные вопросы