我是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();
答案 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();