我有一个由字符串值组成的基于null的数组:
array
0 => string 'Message 1' (length=9)
1 => string '%company' (length=8)
2 => string 'Message 2' (length=9)
3 => string '%name' (length=5)
我需要选择所有以%
开始的值,并理想地将它们放入另一个数组中。
array
0 => string 'Message 1' (length=9)
1 => string 'Message 2' (length=9)
array
0 => string '%company' (length=8)
1 => string '%name' (length=5)
第一个数组是一个验证函数的结果,因为我讨厌,当验证器在一百万行中返回所需输入的信息时(比如:this is required <br><br>
that is required.),而不是输出真实的消息,我想输出所需的和未填充的输入的名称,将其放入一个很好的消息“Fields this,that and even that are mandatory”。
5条答案
按热度按时间hfwmuf9z1#
PHP >5.3,下面需要使用create_function()。
此解决方案首先筛选原始数组,并获取开始为
%
的项。然后使用array_diff()来获取具有剩余值的数组。um6iljoc2#
很抱歉重新提出这个问题,但是像这样简单的过滤在
preg_grep()
上是超级简单的。ebdffaop3#
这是一些使用
array_walk()
和匿名回调的简单分区代码。把它放到一些可重用的代码中:
w6mmgewl4#
可以将array_filter与callback一起使用,
f2uvfpb95#
编辑
在unset之后,你可以使用
foreach
循环来构造新的数组,也可以使用array_values
函数来构造新的数组