0

I am confused because i wrote code and in virtual server php it worked fine but when i download it on server i got parse error and don't know how to deal with it.

Error is on line 8 $toSearch ,Parse
 error: syntax error, unexpected '['

Here is the code :

<?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;
}
?>
mpromonet
  • 11,326
  • 43
  • 62
  • 91
kancer
  • 15
  • 7

2 Answers2

0

Short array syntax is supported from php 5.4

$fruits = ['apples', 'oranges', 'bananas']; 

// associative array
$array = [
    'foo' => 'bar',
    'bar' => 'foo'
];

old way:

$fruits = array('apples', 'oranges', 'bananas');
fsn
  • 549
  • 3
  • 11
0

use the following syntax

$toSearch=array("_c_","_s_","_q_","_d_","_p_","_e_","_lp_","_rp_","_");
$toReplace=array(",","/","\"",".","-","=","(",")"," ");
Asad Nauman
  • 971
  • 11
  • 19