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