我试图在调用函数之前检查函数是否存在
我的代码
function text(){
for($i=0;$i<count($type);$i++){
$this->type=$type[$i];
if($rec){
if(function_exists($this->type)){
$this->$type[$i]($rec);
}
}
}
}
我的$ type将是
Array
(
[0] =type_1
[1] =type_2
[2] =type_3
[3] =type_4
[4] =type_5
[5] =type_6
[6] =type_8
)
function type_1()
{
////
}
function type_2()
{
////
}
但它不起作用..
任何帮助都是适当的。
thankx
答案 0 :(得分:0)
也许你可以改变你的代码:
for($i=0;$i<count($type);$i++){
$this->type=$type[$i];
if($rec){
if(function_exists($this->type)){
$this->$type[$i]($rec);
}
} }
到
for($i=0;$i<count($type);$i++){
$this->type=$type[$i];
if($rec){
if(function_exists($this->type_1()){ // checks if type_1 function exists
$this->$type[$i]($rec);
}
} }
答案 1 :(得分:0)
尝试这样的事情..在这里工作
<?php
$arr = array(0=>'typefunc',1=>'newfunc');
function typefunc()
{
echo "Hello my name is typefunc()";
}
foreach($arr as $k=>$v)
{
if(function_exists($v))
{
$v();
}
}
输出:
Hello my name is typefunc()