如何使用php数组

时间:2016-05-19 02:39:19

标签: php arrays laravel-4

我想将我的$assets->property_id显示的值...输出122142而不是[0] => 122,[1] = 142,更好的应该是数组格式。我想学习如何在数组中显示它,以便我可以把它放到另一个条件......

$user_id = $id;

$type = "TIC";
$asset = ClientPropertyManagement::where('client_id', '=', $user_id)->get();

foreach( $asset as $assets ) {

  if ( $assets->investment_type == $type ) {
    echo $property = $assets->property_id;      
  }

}

我使用Laravel 4.2来显示一些多个表和一些条件以匹配某些值等...

更好的解释:

我需要连接2个主要表格,资产表属性表

在我的laravel控制器中,我需要在获得值后首先确定当前用户的用户ID,我需要在资产表下传递它以匹配多个列,如:“client_id” ,“investment_type”和“property_id”。

一旦“client_id”与“用户ID”匹配,我需要检查“investment_type”下是否有“TIC”类型,如果有匹配的情况,我将需要获取“property_id”并通过它到属性表并获取“property_mgmt_contact”值并创建自动电子邮件警报通知。

3 个答案:

答案 0 :(得分:1)

使用substr()将字符串拆分为第三个字符。

$id = $property = $assets->property_id; 
echo substr($id, 0, 3) . ' ' . substr($id, 3);

答案 1 :(得分:1)

您的$ assets是对象格式,因此要将其转换为您需要的数组

(array) $assets;

您的代码看起来像

foreach( $asset as $assets ) {
  $assetsarray =  (array) $assets;
  if ( $assetsarray['investment_type'] == $type ) {
    echo $property = $assetsarray['property_id'].'<br />';      
  }
}

如果你想看到任何数组,你可以这样做

echo '<pre>';
var_dump($array);
echo '</pre>';

答案 2 :(得分:0)

所以我发现我的$properties中的值已经在数组中,这在我的第一个输出中是错误的,并使用echo而不是print_r。在启动到另一个条件后,我需要将属性值传递给另一个名为property的表,并通过匹配property id来获取联系。

$user_id = $id; // 6 (current logged user)
$asset = ClientPropertyManagement::where('assets.client_id', '=', $user_id)->get();

foreach( $asset as $assets ) {
  if( $assets->investment_type == "TIC"  ) {
    // get property_id under all TIC's column and
    // match the property_id to Property table to get the column of `property_mgmt_contact`.    
    $properties[] = $assets->property_id; 
    // print_r($properties);
  }
}

if( !empty($properties) ){
  $property = DB::table('property')->whereIn('id', $properties)->get();
  foreach( $property as $p ){
    //send email to this email
    $p->property_mgmt_contact;
  }
}