【问题标题】:Array to String conversion in codeignitercodeigniter中的数组到字符串的转换
【发布时间】:2013-08-11 10:04:15
【问题描述】:

我在安装 Codeigintor 时遇到以下错误,我似乎无法解决

Severity: Notice

Message: Array to string conversion

Filename: models/upload_model.php

Line Number: 69

这是我的代码:

foreach($data as $field){
  $query = $this->db->get_where('Ushers', array('Date' => $field['Date']));
  $result_array = $query->row_array();
  if(empty($result_array)){
    $query = $this->db->get_where('Ushers_teams', array('Team' => $field['Team']));
    $ushers = $query->result_array();
    $doublebooking = FALSE;
    foreach($ushers as $usher){
      $columns = $this->db->list_fields('worship'); 
      $sql = "SELECT * FROM worship WHERE worship.Date LIKE '".$field['Date']."%'"; 
      foreach($columns as $column){ 
      $sql .= " OR worship.".(string)$column." = '".(string)$usher."'"; 
    } 
    $result = $this->db->query($sql);
    $usher = $result->result_array();
    if(!isEmpty($usher)) $doublebooking = TRUE;
  }

  if(!$doublebooking){
    $this->db->insert('ushers', $field);
    print("Succesfully uploaded roster for week: ".$field['Date']);
  }else{
    print("Some ushers are already rostered onto the worship team on ".$field['Date']);
  }
}else{
  print("The is already a ushers roster for ".$field['Date'].".");
  print("<br>");
}

我知道这不是解决问题的最佳方法,由于遇到同样的问题,这是最后的手段。 错误当前位于包含

的行
$sql .= " OR worship.".(string)$column." = '".(string)$usher."'";

这可能是一个简单的问题,但我已经解决了 5 到 6 个小时。

【问题讨论】:

  • 请格式化您的代码。
  • 抱歉,我删除了格式化,试图让它停止告诉我我有未格式化的代码.. 之后忘记放回去了。
  • var_dump() 转储变量$column$usher 以查看它们是否已经是字符串。如果它们是数组,简单地将它们转换为字符串并不是最好的解决方案。
  • 不确定如何解释 var_dump,仍在计算 php 的部分内容:string(4) "Date" array(7) { ["Team"]=> string(1) "1" [" Head_Usher"]=> string(10) "Tahi Hoera" ["Usher1"]=> string(10) "Brian Boyd" ["Usher2"]=> string(9) "Elsa Boyd" ["Usher3"]=> string(12) "Annette Tate" ["Usher4"]=> string(11) "Rob Vaughan" ["Usher5"]=> string(12) "Hellen Chuma" }
  • 我认为这意味着 usher 是一个数组。列怎么会是一个字符串“String(4)”Date“”,而引座员怎么会是一个数组?

标签: php arrays string codeigniter


【解决方案1】:

$usher 是一个数组,我想你会发现的。 $ushers 是一个数组数组。 $usher 将是一个数组,在 ushers 表中的每一列都有一个字段。你可能想要$usher['name']$usher['id'] 类似的东西。无法从信息中准确判断出什么。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-02-23
    • 1970-01-01
    • 2012-12-02
    • 2023-03-11
    • 1970-01-01
    • 2015-12-18
    • 1970-01-01
    相关资源
    最近更新 更多