在PHP中从数组中删除单个字符值和所有辅音值

在PHP中从数组中删除单个字符值和所有辅音值,php,arrays,Php,Arrays,我有一个数组,它根据用户输入不断变化。它接受用户输入的单词,然后将其拆分为array\u unique,其中包含所有可能的字母组合。然后我使用usort函数按字母顺序从最小到最大对数组进行排序 我需要能够从数组中删除任何1个字符的值,以及所有辅音,如“lp”、“lpp”、“pp”、“ds” 上面是一个示例,如果用户输入“spyder”,我将拥有一个数组。我需要能够在开始时删除单个字符的结果,并且我需要能够删除完全由所有辅音组成的任何值。为了这个应用,我不考虑“Y”是辅音,而是将它与其他元音a、E

我有一个数组,它根据用户输入不断变化。它接受用户输入的单词,然后将其拆分为
array\u unique
,其中包含所有可能的字母组合。然后我使用
usort
函数按字母顺序从最小到最大对数组进行排序

我需要能够从数组中删除任何1个字符的值,以及所有辅音,如“lp”、“lpp”、“pp”、“ds”

上面是一个示例,如果用户输入“spyder”,我将拥有一个数组。我需要能够在开始时删除单个字符的结果,并且我需要能够删除完全由所有辅音组成的任何值。为了这个应用,我不考虑“Y”是辅音,而是将它与其他元音a、E、I、O、U组合在一起

因此,理想情况下,我的阵列如下所示:

array('de','dy','ep','er','es','ey','py','ry','sy','dep','der','des','dey','dpy','dry',
      'dsy','epr','eps','epy','ers','ery','esy','pry','psy','rsy','depr','deps','depy',
      'ders','dery','desy','dpry','dpsy','drsy','eprs','epry','epsy','ersy','prsy',
      'deprs','depry','depsy','dersy','dprsy','eprsy','deprsy');

您可以对每个项目使用带有两个条件的
array\u filter
。首先,使用
strlen
检查项目的长度是否不是1,然后
trim
检查项目中的所有辅音,查看是否还有剩余内容

$result = array_filter($your_array, function($x) {
    return strlen($x) != 1 && trim($x, 'bcdfghjklmnpqrstvwxz');
});

你为什么不展示一下你的尝试呢?看起来你只是想让别人帮你做作业。我不确定我是否正确地执行了这个操作,因为我遇到了问题:这看起来是对的<代码>$result应该是
['red','blue']
$result = array_filter($your_array, function($x) {
    return strlen($x) != 1 && trim($x, 'bcdfghjklmnpqrstvwxz');
});