Php &引用;“未定义功能”;错误
我有一门课是:Php &引用;“未定义功能”;错误,php,php-5.3,Php,Php 5.3,我有一门课是: <?php class FileObject{ private $name; private $arr; function __construct($name){ $this->name = $name; $arr = array(); } public function readFile(){ $fileHandler
<?php
class FileObject{
private $name;
private $arr;
function __construct($name){
$this->name = $name;
$arr = array();
}
public function readFile(){
$fileHandler = fopen($this->name, "rb");
while (!feof($fileHandler) ) {
$line_of_text = fgets($fileHandler);
$parts = explode(' ', $line_of_text);
$count = 0;
foreach($parts as $tokens){
$arr[$tokens] = $count;
$count++;
}
}
if(checkInArr("fox"))
echo "yes";
else
echo "no";
ksort($arr);
print_r($arr);
fclose($fileHandler);
}
function checkInArr($needle){
if(array_key_exists($needle,$arr))
return TRUE;
else
return FALSE;
}
}
?>
我得到一个错误:
致命错误:在中调用未定义的函数checkinar()
C:\wamp\www\jbglobal\file_lib.php,第29行
你知道为什么吗
$this->checkInArr()
因为这个函数是一个类方法
由于此函数是类方法。它应该是:
if($this->checkInArr("fox"))
{
echo "yes";
}
else
{
echo "no";
}
创建checkinar()
方法有些冗余,但除非您计划执行一些更高级的检测,否则您应该在该if
语句中使用array\u key\u exists($needle,$arr)
if(array_key_exists('fox', $this->arr))
{
echo "yes";
}
else
{
echo "no";
}
应该是:
if($this->checkInArr("fox"))
{
echo "yes";
}
else
{
echo "no";
}
创建checkinar()
方法有些冗余,但除非您计划执行一些更高级的检测,否则您应该在该if
语句中使用array\u key\u exists($needle,$arr)
if(array_key_exists('fox', $this->arr))
{
echo "yes";
}
else
{
echo "no";
}