获取php类中的数组长度

时间:2017-07-25 09:03:45

标签: php

我是php中面向对象编程的新手。 我创建了一个带有数组属性的简单订单类。 方法orderLength不起作用。我得到了一个错误。

  

调用未定义的方法Order :: count()

PHP:

<?php       
    class Order {
        private $order = array();

        public function setOrder($wert) {
            foreach($wert as $value) {
                $this -> order[] = $value;
            }
        }

        public function orderLength() {
            $length = $this -> count(order);
            return $length;
        }

        public function returnOrder() {
            $value = $this -> order;
            return $value;
        }
    }   

    $order = new Order;
    $order -> setOrder(array('Book1','Book2','Book3','Book4'));

    foreach($order->returnOrder() as $value) {
        echo $value."<br>";
    }

    echo "The order Length is: ".$order->orderLength();

6 个答案:

答案 0 :(得分:4)

您可以尝试使用$this->count(order)代替$length = count($this->order);

<!-- ko foreach: { data: question, as: 'question' }-->
    <!-- ko foreach: { data: question.answers, as: 'answer' }-->

    // i want to define temporary variable here like:

    var answer_name = answer.name;

    if($parents[1].lang){
        answer_name = answer[$parents[1].lang + '_name'];
    }

    <span data-bind="text: answer_name">
    // How to do like this?    
    <!-- /ko -->
<!-- /ko -->

答案 1 :(得分:3)

只需返回$ order的计数:

    public function orderLength() {
        return count($this->order);
    }

答案 2 :(得分:0)

Count是一个方法,而不是类属性,试试这个:

$length = count($this->order);

答案 3 :(得分:0)

只是你错了那条线

$this -> count(order);

您的类没有成员函数作为计数,因此请删除:

this ->

答案 4 :(得分:0)

您尚未为班级定义方法计数。你完成它的方式,看起来你正在调用类的count方法,给出order作为参数。

$length=count($this->order);

答案 5 :(得分:0)

将值分配给变量顺序,然后编写用于获取计数的代码。

$order = $order -> setOrder(array('Book1','Book2','Book3','Book4'));
echo "The order Length is: ".$order->orderLength();