Я запутался, потому что я написал код и на виртуальном сервере php он работал нормально, но когда я загрузил его на сервер, я получил ошибку синтаксического анализа и не знаю, как иметь дело с этим.Ошибка синтаксиса PHP, неожиданный '[' "
Error is on line 8 $toSearch ,Parse
error: syntax error, unexpected '['
Вот код:
<?php
function decodeName($name)
{
if (substr($name,0,2)=="p_")
{
$name = substr($name,2);
}
$toSearch=["_c_","_s_","_q_","_d_","_p_","_e_","_lp_","_rp_","_"];
$toReplace=[",","/","\"",".","-","=","(",")"," "];
for ($i=0; $i<count($toReplace); $i++)
{
$name = str_replace($toSearch, $toReplace, $name);
}
return $name;
}
function codeName($name, $addPrefix = 0)
{
if (substr($name,0,2)=="p_")
{
$name = substr($name,2);
}
$toReplace=["_c_","_s_","_q_","_d_","_p_","_e_","_lp_","_rp_","_"];
$toSearch=[",","/","\"",".","-","=","(",")"," "];
for ($i=0; $i<count($toReplace); $i++)
{
$name = str_replace($toSearch, $toReplace, $name);
}
if ($addPrefix >0)
{
$name = "p_".$name;
}
return $name;
}
function getIDs($xml_handle, $nameToSearch)
{
$matches=array();
$ID =$xml_handle->getElementsByTagName('WVA');
$ID2 = $xml_handle->getElementsByTagName('WVA2');
$nameToSearch = codeName($nameToSearch,0);
for ($i = 0; $i < $ID->length; $i++)
{
$id = $ID->item($i);
$id2 = $ID2->item($i);
if ($id->nodeValue==$nameToSearch)
{
array_push($matches,$id->parentNode);
}
elseif ($id2->nodeValue==$nameToSearch)
{
array_push($matches,$id2->parentNode);
}
}
return $matches;
}
function getModelDetails($xml_handle, $modelName)
{
$modelDetails = array();
$modelName = codeName($modelName,1);
$model = $xml_handle->getElementsByTagName($modelName);
$model = $model -> item(0);
$model = $model -> childNodes;
for ($i=0; $i<$model->length; $i++)
{
$modelDetails[$i]=decodeName($model -> item($i)->nodeValue);
}
return $modelDetails;
}
?>
У вас есть более ранняя версия на php, которая не поддерживает объявление массивов как '[a, b, c]'. Вместо этого используйте 'array (a, b, c)' –
Какую версию PHP вы используете? –
попробуйте объявить массив как $ toSearch = array ("_ c _", "_s _", "_ q _", "_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ –