如何将对象转换为数组

时间:2020-06-03 作者:pandglobal

请帮助我将从$wpdb->get\\u results返回的对象转换为数组,这样我就可以调用$query[\'username\')之类的值,而不是使用$query->username,因为我的方法不够灵活,我需要手动将这些列创建为数组来编写许多代码,就像下面的代码一样$data = array(\'username = $query->username, email = $query->email\');
但我相信有一种简单的方法可以自动执行此操作,而无需逐个重新键入所有列名

3 个回复
最合适的回答,由SO网友:fuxia 整理而成

$wpdb->get_results 具有第二个参数,可用于指定所需的返回值类型:

例如:

$data = $wpdb->get_results( $query, ARRAY_A );
这里您可以得到一个关联数组。

SO网友:pandglobal
global $wpdb;
$data =  $wpdb->get_results( "SELECT * FROM {$wpdb->prefix}users", ARRAY_A );

foreach($data as $user){ 
$deuser = $user;
}

echo $deuser[\'username\'];`
SO网友:Baikare Sandeep

嘿,您可以尝试使用数组格式的对象:

global $wpdb;
$data =  $wpdb->get_results( "SELECT * FROM {$wpdb->prefix}users", OBJECT );
$data = json_decode( json_encode($data), true );
echo $data[0][\'user_email\'];
此外,您还可以使用unset() 方法从数组中删除不需要的列。通过使用这种方式,您可以实现。

相关推荐

在wp-login.php上确定用户目标

我添加了一些功能,要求用户通过连接到template_redirect 操作并将未经身份验证的用户发送到wp登录。一切正常。我想为这些访问者在wp登录屏幕上添加一条消息,但我不想将该消息显示给也通过同一页面登录的后端用户。我正在使用login_message 筛选以添加文本。Is there a way, when on the wp-login page to determine if the person is trying to login into the frontend or wp-admin