我似乎无法将信息从.php传递到另一个.php类文件

时间:2014-12-10 23:07:50

标签: php

我想将信息从一个.php文件传递到另一个class.php

这就是我在main.php中的内容

<?php
require 'combinations.php';
$string = "12345";
$num = 2;

$c = Combinations($string, $num);

echo $c;
?>

我想传递$ string和$ num,它将从我的主文件更改为组合类。

这是我的combination.php

<?php
class Combinations implements Iterator
{
    protected $c = null;
    protected $s = null;
    protected $n = 0;
    protected $k = 0;
    protected $pos = 0;

    function __construct($s, $k) {
        if(is_array($s)) {
            $this->s = array_values($s);
            $this->n = count($this->s);
        } else {
            $this->s = (string) $s;
            $this->n = strlen($this->s);
        }
        $this->k = $k;
        $this->rewind();
    }
    function key() {
        return $this->pos;
    }
    function current() {
        $r = array();
        for($i = 0; $i < $this->k; $i++)
            $r[] = $this->s[$this->c[$i]];
        return is_array($this->s) ? $r : implode('', $r);
    }
    function next() {
        if($this->_next())
            $this->pos++;
        else
            $this->pos = -1;
    }
    function rewind() {
        $this->c = range(0, $this->k);
        $this->pos = 0;
    }
    function valid() {
        return $this->pos >= 0;
    }
    protected function _next() {
        $i = $this->k - 1;
        while ($i >= 0 && $this->c[$i] == $this->n - $this->k + $i)
            $i--;
        if($i < 0)
            return false;
        $this->c[$i]++;
        while($i++ < $this->k - 1)
            $this->c[$i] = $this->c[$i - 1] + 1;
        return true;
    }
}
foreach(new Combinations($string, $num) as $substring)
    echo $substring, ' ';
?>

这些是我得到的错误:

注意:未定义的变量:第58行的C:\ xampp \ htdocs \ recSII \ combinations.php中的字符串
注意:未定义的变量:第58行的C:\ xampp \ htdocs \ recSII \ combinations.php中的num
致命错误:在第6行的C:\ xampp \ htdocs \ recSII \ main.php中调用未定义的函数组合() 致命的错误行是$ c = Combinations($ string,$ num);

1 个答案:

答案 0 :(得分:0)

在实际定义它使用的变量之前,首先require文件。在定义变量之后执行require

除此之外,您通常应避免在“定义类”文件中使用“do stuff”代码。