Php 如何从字符串数组中删除错误的符号和长度错误的字符串?
我有这样的阵列:Php 如何从字符串数组中删除错误的符号和长度错误的字符串?,php,arrays,regex,Php,Arrays,Regex,我有这样的阵列: $array = array('abC12', 'bC44', 'Am286c$', 'cC092', 'cC09288'); 使用rexexp时,首先必须删除[A-Ca-c0-9]中不存在的符号(替换为“”)。 其次,有必要从数组中删除与此条件不匹配的变量: 字符串长度不等于5(值“bC44”和“cC09288”) 因此,结果数组必须包含: $array = array('abC12', 'A286c', 'cC092'); 谢谢你的帮助 弗拉基米尔。怎么样: $resu
$array = array('abC12', 'bC44', 'Am286c$', 'cC092', 'cC09288');
使用rexexp时,首先必须删除[A-Ca-c0-9]中不存在的符号(替换为“”)。
其次,有必要从数组中删除与此条件不匹配的变量:
字符串长度不等于5(值“bC44”和“cC09288”)
因此,结果数组必须包含:
$array = array('abC12', 'A286c', 'cC092');
谢谢你的帮助
弗拉基米尔。怎么样:
$result = array();
foreach ($array as $val) {
$val = preg_replace('/[^a-c0-9]/i', '', $val); // Remove symbols
if (strlen($val) == 5) { // Check string length
$result[] = $val;
}
}
$array = array('abC12', 'bC44', 'Am286c$', 'cC092', 'cC09288');
$array = array_filter(preg_replace('/[^a-c0-9]/i', '',$array),function ($var) {return strlen($var) == 5;});
print_r($array);
输出:
Array
(
[0] => abC12
[2] => A286c
[3] => cC092
)
preg_replace也作用于阵列。文档,Barmar,非常感谢!是否可以只使用preg_replace(以某种方式使用{32})?因此,如果block
preg_replace
只返回更新后的字符串,则不使用它,它不会对字符串是否放入$result
中产生任何影响;好的,您可以从中获取有关替换字符串中的符号和空格的帮助