PHP未定义的变量和函数名必须是字符串错误

时间:2016-07-22 07:31:13

标签: php

$A="67452301";
$B="EFCDAB89";
$C="98BADCFE";
$D="10325476";

function F($X, $Y, $Z)  
{
    $X = hexdec($X);
    $Y = hexdec($Y);
    $Z = hexdec($Z);
    $calc = (($X & $Y) | ((~ $X) & $Z)); // X AND Y OR NOT X AND Z
    return  $calc; 
}

$cal=$F($B,$C,$D);
echo $cal;

这是我从上面的代码收到的错误:

  

未定义的变量:F,该函数名必须是字符串。

3 个答案:

答案 0 :(得分:0)

  

仅使用其名称

调用函数

您无需在任何功能名称之前添加$

$cal = F($B,$C,$D);

答案 1 :(得分:0)

试试这个(不要在函数名称前添加$): -

$A="67452301";
$B="EFCDAB89";
$C="98BADCFE";
$D="10325476";

function F($X, $Y, $Z)  
{
    $X = hexdec($X);
    $Y = hexdec($Y);
    $Z = hexdec($Z);
    $calc = (($X & $Y) | ((~ $X) & $Z)); // X AND Y OR NOT X AND Z
    return  $calc; 
}

$cal = F($B,$C,$D);
echo $cal;

答案 2 :(得分:0)

FunctionNamed/Referenced FunctionVariable不是一回事。虽然可以将Referenced Function称为Function;变量不能 - 除非它引用另一个可调用的Function

$F=function(){echo 'Peace';}可以这样调用:$F();没有问题......

然而; $F = null; $F();在语法上不正确....

除了Referenced Function之外;在函数调用之前,你可能没有$ ....你的代码应该是这样的:

    <?php
        $A  = "67452301";
        $B  = "EFCDAB89";
        $C  = "98BADCFE";
        $D  = "10325476";

        function F($X, $Y, $Z){
            $X     = hexdec($X);
            $Y     = hexdec($Y);
            $Z     = hexdec($Z);
            $calc  = (($X & $Y) | ((~ $X) & $Z)); // X AND Y OR NOT X AND Z
            return  $calc; 
        }

        $cal  = F($B,$C,$D);
        echo $cal;    
    ?>