【发布时间】:2012-12-17 12:55:23
【问题描述】:
我有一个包含多个键的数组,我正在寻找一个回调来删除所有不符合特定条件的键(在这种情况下以“电子邮件”开头)。
为此我一直在查看array_walk(),但无论如何,输出始终是1。我猜这个功能不是最适合这个任务,所以有人知道更好的方法吗?谢谢。
$test = array_walk($args, '_check_key_start_callback', 'email');
function _check_key_start_callback(&$value, $key, $str){
return strncmp($key, $str, strlen($str));
}
【问题讨论】:
-
这是什么
certain criteria? -
当然 array_filter() 会比 array_walk() 更好地删除你不想要的条目
-
还要注意 $test 将是一个布尔值 0/1 来识别 array_walk() 是否成功... array_walk() 通过引用传递数组
-
@MarkBaker -
array_filter()只检查值,而不是键,它是我需要过滤的键。另外,我想我明白你对array_walk()的意思了——也就是说,它不是真的适合这份工作! -
@Jelmer - 我的标准是在代码中定义的,但我会修改这个问题,让大家更清楚。谢谢。
标签: php arrays filter callback