0
array(1) {
  [0]=>
  array(11) {
    ["deductionspayment"]=>
    array(3) {
      [0]=>
      array(3) {
        ["amount"]=>
        string(4) "1.03"
        ["year"]=>
        string(4) "2017"
        ["month"]=>
        string(5) "March"
      }
      [1]=>
      array(3) {
        ["amount"]=>
        string(4) "1.03"
        ["year"]=>
        string(4) "2017"
        ["month"]=>
        string(5) "April"
      }
      [2]=>
      array(3) {
        ["amount"]=>
        string(4) "1.03"
        ["year"]=>
        string(4) "2017"
        ["month"]=>
        string(3) "May"
      }
    }
    ["deductionsname"]=>
    string(3) "SSS"
    ["deductionstart"]=>
    string(10) "2017-03-08"
    ["deductionsend"]=>
    string(10) "2017-03-14"
    ["deductionsamount"]=>
    string(4) "3.09"
    ["deductionsyears"]=>
    string(1) "3"
    ["deductionsdate"]=>
    string(10) "2017-03-18"
    ["deductionschedule"]=>
    string(1) "3"
    ["deductionstype"]=>
    string(1) "1"
    ["deductionsprincipalamount"]=>
    string(1) "3"
    ["deductionsinterest"]=>
    string(1) "3"
  }
}
<br />
<b>Warning</b>:  stripslashes() expects parameter 1 to be string, array given in 
<b>Warning</b>:  Invalid argument supplied for foreach() in 
{"error":false,"message":"Update Successful.!"}

这是我的 var_dump,我$jsondeduction在 foreach 中使用它

foreach ($jsondeduction as $val) {
                $jsondeductionspayments = json_decode(stripslashes($val['deductionspayment']), true);

但我收到错误,我假设错误来自这一行: $jsondeductionspayments = json_decode(stripslashes($val['deductionspayment']), true);

我应该如何格式化这些数据以允许stripslashes

4

4 回答 4

0

由于 stripslashs 数组而产生错误。

$jsondeduction_decode=json_decode($jsondeduction)
$jsondeduction_stripslash=unstrip_array($jsondeduction_decode['deductionspayment']);

     function unstrip_array($array){
        foreach($array as &$val){
            if(is_array($val)){
                $val = unstrip_array($val);
            }else{
                $val = stripslashes($val);
            }
        }
    return $array;
    }
于 2017-03-06T08:47:12.603 回答
0

Stripslashes 适用于字符串。您提供了一个数组 $val['deductionspayment']。

string stripslashes ( string $str );

于 2017-03-06T08:39:25.030 回答
0

带斜杠

stripslashes — 取消引用带引号的字符串

string stripslashes ( string $str )

当您发送一个$val['deductionspayment']不是字符串变量的数组时,stripslashes 需要一个字符串参数

于 2017-03-06T08:35:20.760 回答
0

试试这个:

foreach ($jsondeduction as $val) {
                $jsondeductionspayments = stripslashes(json_decode($val['deductionspayment']), true);
于 2017-03-06T08:36:14.990 回答