我怎样才能将这样的数组转换为对象?
[128] => Array
(
[status] => Figure A.
Facebook's horizontal scrollbars showing up on a 1024x768 screen resolution.
)
[129] => Array
(
[status] => The other day at work, I had some spare time
)
)
我正在尝试JSON编码PHP中的一些对象,但我遇到了一个问题:我想编码由类私有成员保存的数据.我发现这段代码通过调用一个编码函数来编码这个对象:
public function encodeJSON()
{
foreach ($this as $key => $value)
{
$json->$key = $value;
}
return json_encode($json);
}
Run Code Online (Sandbox Code Playgroud)
但是,这只适用于我想编码的对象内部不包含其他对象的情况.我怎么能不仅编码"外部"对象,还编码任何作为对象的成员?
我查询了一个这样的数据库,它让我得到了一个数组:
foreach($oid as $orderid) {
$orderdetailData[] = DB::table('order_details')
->join('orders', 'order_details.oid', '=', 'orders.oid')
->select('order_details.oid', 'orders.ostatus')
->where('order_details.oid', $orderid)->get();
}
$data = array_flatten($orderdetailData);
return $data;
Run Code Online (Sandbox Code Playgroud)
这是我得到的数组
array (size=2)
0 =>
object(stdClass)[174]
public 'oid' => int 1
public 'ostatus' => string 'Placed' (length=6)
1 =>
object(stdClass)[158]
public 'oid' => int 2
public 'ostatus' => string 'Placed' (length=6)
Run Code Online (Sandbox Code Playgroud)
我试图在表单中获取此数组
array (size=2)
0 =>
array (size=2)
public 'oid' => int 1
public 'ostatus' => string 'Placed' (length=6)
1 =>
array (size=2)
public 'oid' => int 2 …Run Code Online (Sandbox Code Playgroud) 尝试在Laravel中显示视图时出现下一个错误:
“不能将stdClass类型的对象用作数组(视图:C:\ xampp \ htdocs \ mysite \ resources \ views \ cms \ contactus.blade.php)”。
我的控制器:
public function contactus(){
ContactUS::get_content(self::$data);
return view('cms.contactus', self::$data);
}
Run Code Online (Sandbox Code Playgroud)
我的模特:
class ContactUS extends Model
{
public $table = 'contactus';
public $fillable = ['name','email','message'];
static public function get_content(&$data){
$sql = "SELECT cu.*,name,email,message FROM contactus cu "
. "ORDER BY cu.created_at DESC ";
$data['contactusd'] = DB::select($sql);
}
}
Run Code Online (Sandbox Code Playgroud)
我的看法:
@extends ('cms.cms_master')
@section('cms_content')
<div class="col-sm-9 col-sm-offset-3 col-md-10 col-md-offset-2 main">
<h1 class="page-header">Contact us form information</h1>
@if($contactusd)
<br><br>
<table class="table …Run Code Online (Sandbox Code Playgroud) php ×4
arrays ×2
laravel ×2
object ×2
casting ×1
json ×1
laravel-5 ×1
laravel-5.3 ×1
laravel-5.4 ×1