Доступ к переменной массива в CodeIgniter

#php #codeigniter

#php #codeigniter

Вопрос:

это мой модуль

 function order_alert($email){

        $this->db->select("tbl_customer_registration.cus_mobile");
        $this->db->from('tbl_customer_registration');
        $this->db->where('tbl_customer_registration.cus_email', $email);
        $query = $this->db->get();
        echo '<pre>';
        print_r($query->result()) ;

}
  

Он возвращает следующий результат для приведенного выше кода

 Array
(
    [0] => stdClass Object
        (
            [cus_mobile] => 0716352642
        )

)
  

В контроллере я использую foreach

 foreach($result as $row) :
echo $row['cus_mobile'];
  

чтобы получить [cus_mobile] доступ к вышеуказанному массиву, но он выдает мне все [cus_mobile] строки в tbl_customer_registration .

Как мне получить из этого единственное [cus_mobile] => 0716352642 .

Ответ №1:

 $row->cus_mobile
  

поскольку у вас есть массив объектов.. не совсем уверен, понял ли я ваш вопрос

(ОБНОВЛЕНО) Попробуйте это..

 foreach($query->result() as $row) {
   echo $row->cus_mobile;
}
  

Ответ №2:

Если я правильно понял ваш вопрос, что вы делаете, это извлекаете данные в виде массива объектов и пытаетесь получить доступ к его данным в виде чистого массива. Для этого, поскольку вы имеете в виду, что вы можете получить результат данных в виде массива, есть метод, который называется, result_array() вы могли бы использовать его вместо $query->result() .

 echo '<pre>';
print_r($query->result_array()) ;

foreach($result as $key => $row) :
echo $row['cus_mobile'];
  

Ответ №3:

     function order_alert($email){

    $this->db->select("tbl_customer_registration.cus_mobile");
    $this->db->from('tbl_customer_registration');
    $this->db->where('tbl_customer_registration.cus_email', $email);
    $query = $this->db->get();
   if($query->num_rows()==1)
    $result_row = $query->row();
    return $result_row;
    else 
    return false;
  

}

     foreach($result_row as $row) {
    echo $row->cus_mobile;
    }
  

Это будет работать, если результат содержит одну строку… теперь нужно обработать регистр более чем для одной строки.Спасибо