-3

経由で関数にリンクするとエラーが発生しますrequire()

エラー:Parse error: syntax error, unexpected T_PUBLIC, expecting T_STRING in /home/content/23/9953123/html/new/lib/functions.php on line 3

コード:

<?php
require("lib/functions.php");
require("lib/dbconnect.php");
?>

Functions.php:

<?php

function stateToAbb($input){ 
//reset found 
$found = 0; 
//list states 
$states = "Alaska,Alabama,Arkansas,Arizona,California,Colorado,Connecticut,Delaware,Florida,Georgia,Hawaii,Iowa,Idaho,Illinois,Indiana,Kansas,Kentucky,Louisiana,Massachusetts,Maryland,Maine,Michigan,Minnesota,Missouri,Mississippi,Montana,North Carolina,North Dakota,Nebraska,New Hampshire,New Jersey,New Mexico,Nevada,New York,Ohio,Oklahoma,Oregon,Pennsylvania,Rhode Island,South Carolina,South Dakota,Tennessee,Texas,Utah,Virginia,Vermont,Washington,Wisconsin,West Virginia,Wyoming"; 
//list abbreviations 
$abb = "AK,AL,AR,AZ,CA,CO,CT,DE,FL,GA,HI,IA,ID,IL,IN,KS,KY,LA,MA,MD,ME,MI,MN,MO,MS,MT,NC,ND,NE,NH,NJ,NM,NV,NY,OH,OK,OR,PA,RI,SC,SD,TN,TX,UT,VA,VT,WA,WI,WV,WY"; 
//create arrays 
$states_array = explode(",", $states); 
$abb_array = explode(",", $abb); 

//run test 
for ($i = 0; $i < count($states_array); $i++){ 
    if (strtolower($input) == strtolower($states_array[$i])){ 
        $found = 1; 
        $output = $abb_array[$i]; 
        return $output; 
    } 
} 
if ($found != 1){ 
    $output = $input; 
    return $output; 
} 
return $output; 
} 

?>

しかし、別のphpファイルを必要とせずに関数をファイルに入れると、問題なく動作します...

何か案は?

アップデート...

誰もが私が速いものを引っ張って別のコードを使用しようとしていると思っているので...これが更新されたコードです...

<?php
require("lib/functions.php");
require("lib/dbconnect.php");
function stateToAbb($input) { 
    //reset found 
    $found = 0; 
    //list states 
    $states = "Alaska,Alabama,Arkansas,Arizona,California,Colorado,Connecticut,Delaware,Florida,Georgia,Hawaii,Iowa,Idaho,Illinois,Indiana,Kansas,Kentucky,Louisiana,Massachusetts,Maryland,Maine,Michigan,Minnesota,Missouri,Mississippi,Montana,North Carolina,North Dakota,Nebraska,New Hampshire,New Jersey,New Mexico,Nevada,New York,Ohio,Oklahoma,Oregon,Pennsylvania,Rhode Island,South Carolina,South Dakota,Tennessee,Texas,Utah,Virginia,Vermont,Washington,Wisconsin,West Virginia,Wyoming"; 
//list abbreviations 
$abb = "AK,AL,AR,AZ,CA,CO,CT,DE,FL,GA,HI,IA,ID,IL,IN,KS,KY,LA,MA,MD,ME,MI,MN,MO,MS,MT,NC,ND,NE,NH,NJ,NM,NV,NY,OH,OK,OR,PA,RI,SC,SD,TN,TX,UT,VA,VT,WA,WI,WV,WY"; 
//create arrays 
$states_array = explode(",", $states); 
$abb_array = explode(",", $abb); 

//run test 
for ($i = 0; $i < count($states_array); $i++){ 
    if (strtolower($input) == strtolower($states_array[$i])){ 
        $found = 1; 
        $output = $abb_array[$i]; 
        return $output; 
    } 
} 
if ($found != 1){ 
    $output = $input; 
    return $output; 
} 
return $output; 
} 
?>

それは機能しません...私がそれを削除するrequire("lib/functions.php");と機能するので、問題はそのコード行にあります

4

1 に答える 1

1

これをデバッグする最初のステップ: 何かを変更して、エラー メッセージも変更されるかどうかを確認します。

エラー行の前に空白行を追加して、常に正しいファイルを見ていることを確認します。それに応じてエラー メッセージが変化する場合は、正しいファイルがあることがわかります。

その後、表示されるエラー メッセージに応じてdie()、コードがクラッシュした場合に挿入します。解析エラーの場合、いくつかの場所にセミコロンを追加すると役立つ場合があります。

行内のエラーの正確な場所を特定するために、通常、この行のすべてのキーワードをそれぞれの行に分割します。空白は解析には問題ありませんが、これを行うと、パーサーが不平を言う場所を正確に特定できます。

于 2013-01-16T22:14:58.793 に答える