数组推送另一个数组

时间:2013-05-20 06:06:05

标签: php arrays laravel

以下是通过laravel雄辩的数据库返回的当前数组。我想把一些东西放进阵列中,我可能知道怎么做?

返回中的数据

Company Object ( 
[attributes] => Array ( 
    [id] => 1 
    [company_name] => superman 
    [company_fullname] => Superman Ent. ) 
[original] => Array ( 
    [id] => 1 
    [company_name] => superman 
    [company_fullname] => Superman Ent. ) 
[relationships] => Array ( ) 
[exists] => 1 
[includes] => Array ( ) ) 

虽然我可以通过foreach数组来调用它,并通过{{$ x-> company_name}}进行访问。我想用一些自定义信息扩展数组,例如,总成员数?

我试过这种方式而失败了。

$temp = array("count" => "1232");
array_push($companyInfo, $temp);

我得到了这个

  

array_push()期望参数1为数组,给定对象

更新 公司信息阵列由laravel返回,由于我的愚蠢和&不小心(几天不眠之夜+ _ +)我没注意到一切都在['属性']里面!从答案中应用的方法后,可以通过以下方式访问数据。

{{ $x['attributes']['company_name'] }}
{{ $x[0]['count'] }}

3 个答案:

答案 0 :(得分:3)

在您的情况下,$ CompanyInfo是一个对象。您需要指定一个命名参数来保存$ temp数组信息:

$temp = array("count" => "1232");
$companyInfo->temp = $temp;

或者将对象转换为数组:

$temp = array("count" => "1232");
$companyInfo = (array) $companyInfo;
array_push($companyInfo, $temp);

答案 1 :(得分:2)

尝试使用out函数array_push:

$temp = array("count" => "1232");
$temp[] = $companyInfo;

$temp = array("count" => "1232");
$temp['companyInfo'] = $companyInfo;
$temp['companyInfo']->getSomeData();

答案 2 :(得分:0)

你有一个array_push错误,因为你传递了一个对象而不是一个数组。

你几乎可以做以下更改,

$companyInfo = (array)$companyInfo;

array_push($companyInfo, $temp);