繁体   English   中英

PHP语法中的函数错误,不知道为什么

[英]PHP syntax error in function, don't know why

我收到语法错误,我不知道为什么。 “解析错误:语法错误,第6行出现意外的'{'”

function ExtractCustomField($fieldName, $customFields) {
// $customFields might be an object, NULL, or an array.
$parsed = array();
if (is_array($customFields) == false && $customFields != null) {
$parsed = array($customFields);
} else (is_array($customFields)) {
$parsed = $customFields;
}

// loop through the fields and find the one we are looking for
$returnField = null;
foreach($field as $customFields) {
if ($field->Name == $fieldName) {
$returnField = $field;
break;
}
}

return $returnField
}

您忘记将分号放在$returnField ,也可以使用elseif代替else(否则不需要任何参数)。 使用下面的代码

function ExtractCustomField($fieldName, $customFields) {
// $customFields might be an object, NULL, or an array.
$parsed = array();
if (is_array($customFields) == false && $customFields != null) {
$parsed = array($customFields);
} elseif (is_array($customFields)) {
$parsed = $customFields;
}

// loop through the fields and find the one we are looking for
$returnField = null;
foreach($field as $customFields) {
if ($field->Name == $fieldName) {
$returnField = $field;
break;
}
}

return $returnField;
}

希望这对您有帮助

else后面不接受任何表达式。 删除表达式或使用elseif

您错过了分号作为回报

return $returnField;
}

另外Else条件else (is_array($customFields))格式错误.... else之后不采取任何条件...您可以改用Elseif

else (is_array($customFields)) {

是无效的。 使用其他条件或删除条件

function ExtractCustomField($fieldName, $customFields) {
// $customFields might be an object, NULL, or an array.
$parsed = array();
if (is_array($customFields) == true && $customFields != null) {
$parsed = array($customFields);
} else {
$parsed = $customFields;
}

// loop through the fields and find the one we are looking for
$returnField = null;
foreach($field as $customFields) {
if ($field->Name == $fieldName) {
$returnField = $field;
break;
}
}

return $returnField;
}

应该是if(is_array($ customFields))或elseif(is_array($ customFields))

我已经修改了您的函数,我认为应该是and elseif而不是else,并且在foreach循环中,您代码中的语法错误。 我还假设您将使用单级关联数组。

<?php
    function ExtractCustomField($fieldName, $customFields) {
            // $customFields might be an object, NULL, or an array.
            $parsed = array();
            if (is_array($customFields) == false && $customFields != null) {
                $parsed = array($customFields);
            } elseif (is_array($customFields)) {
                $parsed = $customFields;
            }

            // loop through the fields and find the one we are looking for
            $returnField = null;
            foreach($customFields as $field) {
                if ($field == $fieldName) {
                    $returnField = $field;
                    break;
                }
            }
            return $returnField;
        }

        echo ExtractCustomField('name', array('name','emial','mobile','password'));
?>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM