PHP Data = $data['Sold_items']:
[Sold_items] => Array
(
[0] => Array
(
[CGST_Percentage] => 9
[SGST_Percentage] => 9
)
[1] => Array
(
[CGST_Percentage] => 9
[SGST_Percentage] => 9
)
)
PHP Array Filter Line:
$GST_Percentage = 9;
array_filter($data['Sold_items'], $this->sold_item_by_gst_percentage($data['Sold_items'], $GST_Percentage);
PHP sold_item_by_gst_percentage function:
private function sold_item_by_gst_percentage($GST, $GST_Percentage){
return ($GST['CGST_Percentage'] == $GST_Percentage);
}
任何人都可以告诉我为什么会显示通知Undefined index: CGST_Percentage
和warning array_filter() expects parameter 2 to be a valid callback, no array or string given
如何解决此问题请帮助我。
答案 0 :(得分:0)
http://php.net/array_filter
"要使用的回调函数"
你没有定义要调用的函数,你使用它,调用它。如果你不知道如何,你可以使用doublecall。从示例3复制
array_filter($arr, function($value)
{
global $xxx;
return $this->sold_item_by_gst_percentage($row, $xxx);
}, ARRAY_FILTER_USE_KEY)
或者,您使用foreach过滤器
function myFilter($arr,$your_value,$your_index='CGST_Percentage')
{
foreach ($arr as $index=>$row)
if ($row[$your_index]==$your_value)
return $row;
}
---
// $arr = $data['Sold_items']
// $your_index = 'CGST_Percentage'
// $your_value = $GST_Percentage