Я пытаюсь удалить косые черты из магических кавычек из массива. Итак, у меня есть две функции: одна для удаления слешей, другая для установки переменной.
// Strip slashes from an array.
function strip_magic_quotes($array)
{
if (get_magic_quotes_gpc())
{
function stripslashes_array($array)
{
return is_array($array) ? array_map('stripslashes_array', $array) : stripslashes($array);
}
return stripslashes_array($array);
}
return $array;
}
function set_variable($array = array(),$key,$params = array())
{
# If $params is not an array, let's make it array with one value of former $params.
if(!is_array($params)) $params = array($params);
if(!is_array($array)) parse_str($array, $array);
# Strip slashes from the array if get_magic_quotes_gpc is on.
$array = strip_magic_quotes($array);
# This will return true or false.
if(in_array('boolean', $params)) return isset($array[$key]) ? true : false;
# This will regard '0' as a string.
# Return value or 0 as a string.
elseif(in_array('0', $params)) return isset($array[$key]) && ($array[$key] == '0') ? trim($array[$key]) : null;
# Return null as string if 'null_to_string' is set.
elseif(in_array('null_to_string', $params)) return isset($array[$key]) && !empty($array[$key]) ? trim($array[$key]) : 'null';
# Check if the key is an array.
elseif(isset($array[$key]) && !empty($array[$key]) && is_array($array[$key])) return isset($array[$key]) && !empty($array[$key]) ? $array[$key] : null;
# This will regard '0', empty space as falsey.
# Return value or null.
else return isset($array[$key]) && !empty($array[$key]) ? trim($array[$key]) : null;
}
$array = array(
'name'=>'Hello',
'type'=>'{"page":"page"}'
);
# set the required array.
$items_variable = array(
'name',
'type'
);
# loop the array.
foreach( $items_variable as $item_variable )
{
# set the main variables.
$$item_variable = set_variable($array,$item_variable);
}
print_r($type);
Я получаю эту ошибку на своем живом сервере, которую я не понимаю,
Неустранимая ошибка: невозможно переопределить stripslashes_array () (ранее
объявлено в json.php: 16) в
json.php в строке 16
строка 16 относится к этой строке function stripslashes_array($array)
, которая, похоже, не содержит ошибок.
Есть идеи, как это исправить?