Php 如何将stdClass对象打印为字符串?

Php 如何将stdClass对象打印为字符串?,php,sql,wordpress,Php,Sql,Wordpress,当我尝试使用print\r命令打印数组时,出现以下错误 分析错误:语法错误,在/home4/rajatwalia/student.rwalia.com/wp content/plugins/insert php/includes/shortcodes.php(66):eval()中出现意外的“$array”(T_变量),代码位于第6行 下面是用wordpress中的php短代码插件编写的代码 global $wpdb; $profile_id = um_profile_id(); $result

当我尝试使用print\r命令打印数组时,出现以下错误 分析错误:
语法错误,在/home4/rajatwalia/student.rwalia.com/wp content/plugins/insert php/includes/shortcodes.php(66):eval()中出现意外的“$array”(T_变量),代码位于第6行

下面是用wordpress中的php短代码插件编写的代码

global $wpdb;
$profile_id = um_profile_id();
$result = $wpdb->get_results( "SELECT meta_value FROM wp_usermeta WHERE 
meta_key = 'student_id' AND user_id = $profile_id;" );
$array = json_decode(json_encode($result),true);
//$array[0] -> $studentid;  
print_r $array;
//print_r($result);

我之所以使用json,是因为我的结果是一个stdClass,我想要一个字符串,print\r是一个函数,应该这样调用:

print_r($array);
可以使用函数serialize将类转换为字符串

print_r(serialize($array));
或者,如果只想获取数组的值,可以使用函数infrade:

print_r(implode(', ', $array));
此函数将转换以逗号分隔的字符串形式的数组值。内爆的第一个参数是分隔符,第二个参数是将由字符串转换的数组

如果您想同时拥有数组的名称和值。您可以这样做:

//variable that will storage the string
$string = "";

/** this loop will run all the array, the $key variable will storage the name of 
 *the array position(the key), the $value variable will storage the value of the 
 *array in that position
 */
foreach ($array as $key => $value) {
    $string .= $key . ": " . $value . ", ";
}

print_r($string);

json\u解码(json\u encode())
的意义是什么?如果要将
stdclass
转换为数组,只需强制转换它,即
$array=(array)$result。在任何情况下,
print\r
都是一个函数,必须像函数一样调用,即
print\r($array)
您还可以使用
$wpdb->get\u results(“选择…”,'array\u a')
专门请求一个数组。请看@Phil Now我得到一个包含一个条目的stdclass对象数组,
array([0]=>stdclass对象([meta_value]=>2330002))
,现在有没有办法将这个对象转换成字符串?你是说像
foreach($result as$obj)echo$obj->meta_value?如果是这样,是吗?@Phil,是的,有点!我希望将该值2330002作为字符串存储在新变量中,而不仅仅是
echo
it