PHP foreach获取stripslashes()需要参数1

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.!"}

This is my var_dump of my $jsondeduction and I am using this in foreach like

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

But i am getting error and i am assuming that the error is coming from this line : $jsondeductionspayments = json_decode(stripslashes($val['deductionspayment']), true);

How should I format this data to allow stripslashes

stripslashes :

stripslashes — Un-quotes a quoted string

string stripslashes ( string $str )

stripslashes expects a string parameter while you are sending an array $val['deductionspayment'] which is not a string variable

Try This one :

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

Stripslashes work on string. You provided an array $val['deductionspayment'].

string stripslashes ( string $str );

</div>

Error is generated due to stripslashs array.

$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;
    }