是否可以使stdClass对象像通用索引数组一样工作?
即$ array = Array([0] => 120 [1] => 382 [2] => 552 [3] => 595 [4] => 616)
将被构造成像
$a = array();
$array[] = 120;
$array[] = 382;
Run Code Online (Sandbox Code Playgroud)
等等
但如果我用一个对象做它,它只会覆盖自己:
$obj = new stdClass;
$obj->a = 120;
$obj->a = 382;
Run Code Online (Sandbox Code Playgroud)
我知道我每次都可以改变'a'
对不起,如果这是一个愚蠢的问题,但由于某种原因它让我很难过!
感谢任何帮助:)
担
如何在php中用'pos'对这个对象进行排序?
Array (
[0] => stdClass Object ( [str] => Mondays [pos] => 170 )
[1] => stdClass Object ( [str] => Tuesdays [pos] => 299 )
[2] => stdClass Object ( [str] => Wednesdays [pos] => 355 )
[3] => stdClass Object ( [str] => Thursdays [pos] => 469 )
[4] => stdClass Object ( [str] => Fridays [pos] => 645 )
[5] => stdClass Object ( [str] => Mondays [pos] => 972 )
[6] => stdClass Object ( …Run Code Online (Sandbox Code Playgroud) stdClass::__set_state(array(
'zone1' =>
array (
0 =>
stdClass::__set_state(array(
'id' => '123',
'owner' => '234',
...
)),
Run Code Online (Sandbox Code Playgroud)
嗨,
我的基础知识有点儿,所以我遇到了麻烦...我需要创建上面的结构,但我不知道如何......
我正在尝试访问我使用json_decode创建的JSON对象中的数据(基于URL的结果).回应是:
stdClass Object
(
[/guid/9202a8c04000641f8000000016f4c9cd] => stdClass Object
(
[code] => /api/status/ok
[result] => stdClass Object
(
[
..
Run Code Online (Sandbox Code Playgroud)
如何访问参数"代码"?
谢谢!
我正在尝试打印此嵌套 stdClass 对象中的值,但访问它们时遇到问题。例如,如何打印“originCity”的值?
stdClass Object (
[FlightInfoResult] => stdClass Object (
[next_offset] => 1
[flights] => stdClass Object (
[ident] => SWA2558
[aircrafttype] => B737
[filed_ete] => 00:50:00
[filed_time] => 1362879561
[filed_departuretime] => 1362880080
[filed_airspeed_kts] => 442
[filed_airspeed_mach] =>
[filed_altitude] => 410
[route] => LBY MEI J31 VUZ
[actualdeparturetime] => 1362880080
[estimatedarrivaltime] => 1362882900
[actualarrivaltime] => 1362882600
[diverted] => [origin] => KMSY
[destination] => KBHM
[originName] => New Orleans Intl
[originCity] => New Orleans, LA
[destinationName] => Birmingham-Shuttlesworth Intl
[destinationCity] …Run Code Online (Sandbox Code Playgroud) 我有一个stdClass数组.该数组的输出如下:
Array
(
[0] => stdClass Object
(
[vendor_id] => 1
[user_id] => 1
[date_created] => 2013-06-12 16:48:38
[date_edited] =>
[status] => active
[user_firstname] => Stuart
[user_surname] => Blackett
)
)
Run Code Online (Sandbox Code Playgroud)
我想要做的是向这个stdClass添加两个变量.它们是"total_bookings"和"total_venues";
我目前正在循环结果,然后计算创建总数.我想将这两个变量添加到该stdClass数组的末尾.
我的PHP如下:
$vendors = $this->po_model->get_all_vendors();
$this->template->set('total_vendors', count($vendors));
$count = 0;
foreach($vendors as $vendor)
{
$count++;
$total_venues = $this->po_model->get_count_venues($vendor->user_id);
$total_bookings = $this->po_model->get_count_bookings($vendor->user_id);
$vendors[$count]['total_venues'] = $total_venues;
$vendors[$count]['total_bookings'] = $total_bookings;
}
Run Code Online (Sandbox Code Playgroud)
但是,当我var_dump我的Array看起来像这样:
Array
(
[0] => stdClass Object
(
[vendor_id] => 1
[user_id] => 1
[date_created] => 2013-06-12 16:48:38
[date_edited] => …Run Code Online (Sandbox Code Playgroud) 我想将一个stdClass对象转换为字符串,并使用该stdClass对象的最大值减少一个数组.
这是我的阵列:
Array
(
[135] => Array
(
[0] => stdClass Object
(
[ID] => 145
)
[1] => stdClass Object
(
[ID] => 138
)
[2] => stdClass Object
(
[ID] => 139
)
)
[140] => Array
(
[0] => stdClass Object
(
[ID] => 163
)
[1] => stdClass Object
(
[ID] => 155
)
)
Run Code Online (Sandbox Code Playgroud)
基本上它应该是这样的:
Array
(
[135] => 139
[140] => 164
)
Run Code Online (Sandbox Code Playgroud)
这可能吗?我已经尝试了各种foreach循环,但我没有得到它与stdClass对象...
我到目前为止的尝试:
foreach($ids as $k => $v) …Run Code Online (Sandbox Code Playgroud) 嗨,我正在从事laravel培训项目。尝试获取每个产品类别名称时,模型和关系存在问题。
这是我的产品型号
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Product extends Model
{
public function category()
{
return $this->belongsTo('App\Category');
}
}
Run Code Online (Sandbox Code Playgroud)
和我的类别模型
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Category extends Model
{
protected $table = 'categories';
public function products()
{
return $this->hasMany('App\Product');
}
}
Run Code Online (Sandbox Code Playgroud)
当我尝试获取像这样的每个产品的类别名称时
@foreach($products as $product)
<tr>
<td>{{ $product->id }}</td>
<td>{{ $product->name }}</td>
<td>{{ $product->category->name }}</td>
</tr>
@endforeach
Run Code Online (Sandbox Code Playgroud)
当我运行页面时,出现此错误
Undefined property: stdClass::$category (View: /var/www/html/projectname/resources/views/my/products/index.blade.php)
Run Code Online (Sandbox Code Playgroud)
谁能告诉我是什么原因导致此错误?
这里更新的是表结构
Products:id,name,category_id-> unsigned()
Categories:id,name
,这是我用来获取$ products的代码
$user_id = Auth::user()->id;
$products = …Run Code Online (Sandbox Code Playgroud) 致命错误:未捕获错误:无法使用 stdClass 类型的对象作为数组
$code = json_decode($src);
echo $code["items"];
Run Code Online (Sandbox Code Playgroud)
var_dump 显示以下内容(截断):
object(stdClass)#7 (3) { ... }
Run Code Online (Sandbox Code Playgroud)
我不知道它是什么stdClass以及如何使用它。
编辑:
stdClass是一个创建简单对象实例的类。类的属性将使用->而不是[...]符号来访问。
根据 的文档json_decode,简单地将第二个参数设置为true将导致结果是关联数组,它可以像数组一样依次访问。
在发布这个问题时,我没有尝试搜索如何解码 JSON - 因为这非常简单而且我已经开始工作了。我刚刚收到另一个错误(上图),并且没有找到如何解决这个问题的运气。我相信人们也有类似的问题,因为这个问题也得到了一些看法。
stdclass ×9
php ×8
arrays ×5
json ×2
categories ×1
codeigniter ×1
laravel ×1
object ×1
relationship ×1
soap ×1
sorting ×1