在PHP中访问关联数组时出错

时间:2013-12-22 09:10:37

标签: php html associative-array

我的日历预订系统有这个代码。

public class booking_diary
{
    public $bookings;

    function make_booking_array($year, $month)
    {
        $query = "SELECT * FROM bookings WHERE date LIKE '$year-$month%'";
        $result = mysqli_query($this->link, $query) or die(mysqli_error($this->link));

        $this->count = mysqli_num_rows($result);
        $this->bookings = '';

        while ($row = mysqli_fetch_array($result)) {

            $this->bookings[] = array(
                "name" => $row['name'],
                "date" => $row['date'],
                "start" => $row['start'],
                "comments" => $row['comments'],
                "adminBooked" => $row['admin']
            );
        }

        $this->make_day_boxes($this->days, $this->bookings, $this->month, $this->year);

    } // Close function

    function make_day_boxes()
    {
        // I want to access $bookings['adminBooked'] in this function
    }

}

在功能make_day_boxes()中,我尝试访问$bookings['adminBooked']

但是我收到索引 adminBooked 未定义的错误

有谁能告诉我如何获取存储在'adminBooked'的值?

//为什么这里的大多数人都会投票给我。如果我在这里学习并询问我的问题和问题,那会有什么问题?

2 个答案:

答案 0 :(得分:2)

如果您尝试访问班级中的班级变量,则需要使用$ this->

访问该班级变量

e.g。 $这 - >预订[ 'adminBooked'];

但是当你执行$ this-> bookings [] = array

时,你也会创建一个索引数组

因此,如果您想访问其中的任何元素,则必须转到您感兴趣的索引。

e.g。

function make_day_boxes($index){
return $this->bookings[$index]['adminBooked'];
}

答案 1 :(得分:1)

看起来你正在创建多维数组。

尝试访问$this->$bookings[0]['adminBooked'];