Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/252.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 剥离数组中每个值中的斜杠_Php_Arrays_Sql Server - Fatal编程技术网

Php 剥离数组中每个值中的斜杠

Php 剥离数组中每个值中的斜杠,php,arrays,sql-server,Php,Arrays,Sql Server,我有一个从SQL调用中获取的值数组,但当我尝试将其放入网页中的表中时,会出现以下错误: JSON.parse: bad escaped character at line 1 column 657 of the JSON data 我意识到在数据中,其中一行有数据:INNO BROWN THOMAS TV的 这是由于转义字符导致的错误,大的结果集作为数组返回,我需要php中的某种循环来删除这些斜杠并停止错误。最好的方法是什么?我已经阅读了PHP手册中的addslashes和stripslash

我有一个从SQL调用中获取的值数组,但当我尝试将其放入网页中的表中时,会出现以下错误:

JSON.parse: bad escaped character at line 1 column 657 of the JSON data
我意识到在数据中,其中一行有数据:INNO BROWN THOMAS TV的

这是由于转义字符导致的错误,大的结果集作为数组返回,我需要php中的某种循环来删除这些斜杠并停止错误。最好的方法是什么?我已经阅读了PHP手册中的
addslashes
stripslashes
,并尝试在数组中循环以删除斜杠,但没有任何效果

任何正确方向的帮助或指示都将不胜感激,谢谢

$prodSQL = new prodEnqSQL;
$results = $prodSQL->getProdData($prodName, $prodType, $prodCode);
function stripslashes_array($results){
    global $results;
    if(is_array($results)){
        foreach ($results as $key=>$value){
            $value[$key] = stripslashes_array($value);
        }

    }else{
        return stripslashes($results);
    }

}
希望这对你有用

foreach ($your_array as $key=>$value) {
    $your_array[$key] = stripslashes($value);
    }
或者对于多个级别的阵列,请使用以下命令:

function stripslashes_deep($value)
{
    $value = is_array($value) ?
                array_map('stripslashes_deep', $value) :
                stripslashes($value);

    return $value;
}

$array = array("f\\'oo", "b\\'ar", array("fo\\'o", "b\\'ar"));
$array = stripslashes_deep($array);

print_r($array);

如果是sql server 2016,查询时可以使用sql server的字符串_ESCAPE,如下所示:

select string_escape(yourcolumn, 'json') from yourtable
如果
select replace(yourcolumn,'\','\\') from yourtable

为什么是sql server?@KannanKandasamy,因为我得到的结果来自sql server,我正在使用哪个版本的sql server/2012,有没有办法通过sql而不是php来实现这一点?sql Server 2016中有String_escape函数,它将自动提供此数据,否则我们可能需要使用replace。我正在获取
stripslashes()希望参数1是字符串,数组给定
谢谢,编码愉快