2017-12-04 12 views
-1
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); 
} 

誰もが私を助けてくださいどのように私はこの問題を解決することができますを教えてくださいすることができます。PHP多次元配列から

答えて

0

http://php.net/array_filter 「コールバック関数を使用するには、」あなたはそれを呼び出す、あなたはそれを使用、コールする関数を定義していない
を。あなたがどのようにわからなければ、ダブルコールを使うことができます。例3

array_filter($arr, function($value) 
    { 
    global $xxx; 
    return $this->sold_item_by_gst_percentage($row, $xxx); 
    }, ARRAY_FILTER_USE_KEY) 

からCopyedそれとも、あなた自身が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