2017-09-21 2 views
0

내가 $의 XDATA 및잘못된 키를 확인하고 배열

그러나 내가 무엇입니까 $의 yData에의 일치하는 키를 모두에서 제거 할 수 있도록 $의 XDATA에서 나쁜 배열 나쁜 키의 목록을 확인하려고에서 제거 PHP에서 다음과 같은 오류 : array_flip()는 매개 변수 (1)가 배열 될 것으로 예상, 정수 주어진 array_diff_key() : 인수 # 2

이 원인이 어떤 생각에서 배열이 아닌?

$badkeys = array(); 
//search array for empty x value 
$badkeys = array_search('', $xdata); 
//remove x and y values where empty x 
$xdata = array_diff_key($xdata, array_flip($badkeys)); 
$ydata = array_diff_key($xdata, array_flip($badkeys)); 

//reset keys array 
unset($badkeys); 

//seach x array where data is less than 2 days ago (bugfix) 
$keys = array_search(strtotime('-2 days'), strtotime($ydata)); 
//remove where ydata less than 2 days old (bugfix) 
$xdata = array_diff_key($xdata, array_flip($keys)); 
$ydata = array_diff_key($ydata, array_flip($keys)); 
+0

가 http://php.net/manual/en/function.array-search.php – Sammitch

답변

1

array_search 함수는 제 유사한 요소가 아닌 전체 일치 배열의 인덱스를 반환한다. 일치하는 모든 키를 얻으려면, array_keys 사용

// Search array for empty x value. 
$badkeys = array_keys($xdata, ''); 

// Seach x array where data is less than 2 days ago (bugfix). 
$keys = array_keys($xdata, strtotime("$ydata -2 days")); 
+0

당신에게 너무 많은 친구를 감사했다 매력 :) –