Php 为什么';t empty(0)返回false?

Php 为什么';t empty(0)返回false?,php,Php,$this->\u代码中的数据是一个数组 将行替换为以下内容(以评估传递的零值): 我不明白这怎么可能是真的。表示empty返回bool,而不是int。@Patashu我不认为他实际上是在质疑php函数,但他与empty()renrenshang一起使用的函数,我认为这是因为函数的其余部分是在尝试将其余代码放在else stationtryvar_dump($this->\u data)中运行的。您对empty的调用在哪里(0)?我找不到它。代码中的哪些调用令您困惑?此调用的作用是什么?您认为它

$this->\u代码中的数据是一个数组

将行替换为以下内容(以评估传递的零值):


我不明白这怎么可能是真的。表示empty返回bool,而不是int。@Patashu我不认为他实际上是在质疑php函数,但他与empty()renrenshang一起使用的函数,我认为这是因为函数的其余部分是在尝试将其余代码放在else stationtry
var_dump($this->\u data)
中运行的。您对
empty的调用在哪里(0)
?我找不到它。代码中的哪些调用令您困惑?此调用的作用是什么?您认为它应该做什么?
<?php
class Stack{
private $_data = array();
private $_end = null;
public function push($data){
    if($this->_end === null){
        $this->_end = 0;
    }else{
        $this->_end = $this->_end + 1;
    }
    $this->_data[$this->_end] = $data;
}

public function pop(){
    if(empty($this->_data)){
        return false;
    }

    $ret = $this->_data[$this->_end];

    array_splice($this->_data, $this->_end);
    $this->_end--;

    return $ret;
}

public function getData(){
    return $this->_data;
}
}

// test
$stack = new Stack();
$stack->push(0);
$pop_data = $stack->pop();
var_dump($pop_data, $stack->getData());
$this->_data[$this->_end];