我正在尝试从$ xdata中识别坏数组坏键列表,以便我可以从$ xdata和$ ydata中的匹配键中删除它
但是我在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 :(得分: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"));