回显数组的一部分


Echo part of an array

我使用get_results()查询了WordPress中的数据库,当我转储$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>';

你看到的是一个对象数组(仅在该数组中的一个项目中(。

$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类的信息。

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;