嗨,我有一个 PHP 数组,当 var_dumped 时,它看起来像这样
array (size=3)
0 =>
array (size=8)
'Product_code' => string 'CAB55FR' (length=7)
'Elapsed' => string '0' (length=1)
'Count' => string '42' (length=2)
'Scrap' => string '0' (length=1)
'ScrapPercentage' => string '0.00' (length=4)
'Perhour' => null
'Target' => float 40
'Eff' => string '105%' (length=4)
1 =>
array (size=8)
'Product_code' => string 'MSTACK60' (length=8)
'Elapsed' => string '0.05' (length=4)
'Count' => string '0' (length=1)
'Scrap' => string '0' (length=1)
'ScrapPercentage' => null
'Perhour' => string '0.00' (length=4)
'Target' => string 'No Target set' (length=13)
'Eff' => string 'No Target set' (length=13)
但是我希望数组看起来像这样
array (size=3)
0 =>
object(stdClass)[8]
public 'Product_code' => string 'CAB55FR' (length=7)
public 'Elapsed' => string '0' (length=1)
public 'Count' => string '42' (length=2)
public 'Scrap' => string '0' (length=1)
public 'ScrapPercentage' => string '0.00' (length=4)
public 'Perhour' => null
1 =>
object(stdClass)[9]
public 'Product_code' => string 'MSTACK60' (length=8)
public 'Elapsed' => string '0.05' (length=4)
public 'Count' => string '0' (length=1)
public 'Scrap' => string '0' (length=1)
public 'ScrapPercentage' => null
public 'Perhour' => string '0.00' (length=4)
为了创建第一个数组,我使用了这段代码
$todayarray[] = Array(
'Product_code' => $v->Product_code,
'Elapsed' => $v->Elapsed,
'Count' => $v->Count,
'Scrap' => $v->Scrap,
'ScrapPercentage' => $v->ScrapPercentage,
'Perhour' => $v->Perhour,
'Target' => $value,
'Eff' => $eff
);
这是在 foreach 中运行的,使生成的数组看起来像第二个示例的最佳方法是什么?
最佳答案
最简单的方法是将数组转换为对象。
$todayarray[] = (object) Array( ... );
参见a working demo .
在 PHP manual 上了解有关类型转换的更多信息
关于PHP 数组和数组对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27190733/