与正则表达式的比较和php中的差异计数
我有一个多维数组,希望与正则表达式进行比较,得到差值的计数 数组:与正则表达式的比较和php中的差异计数,php,multidimensional-array,Php,Multidimensional Array,我有一个多维数组,希望与正则表达式进行比较,得到差值的计数 数组: Array ( [0] => Array ( [SaleId] => 11^ ) [1] => Array ( [SaleId] => 222@ ) [2] => Array ( [SaleId] => 333% ) [3] => Array (
Array (
[0] => Array (
[SaleId] => 11^
)
[1] => Array (
[SaleId] => 222@
)
[2] => Array (
[SaleId] => 333%
)
[3] => Array (
[SaleId] => %%$
)
)
PHP代码:
$number = count(!preg_match("/[0-9][a-z][A-z][@.+-_]/",$SaleId));
echo $number;
为正则表达式解释:
$number
在任何情况下都返回1!
请帮帮我
返回输出=1
我想返回3preg_match()将为true或false。因此,如果找到匹配项,则意味着按下面给定的方式计算值。您正在传递整个数组。我们应该传递带索引的数组。因此,请使用for循环尝试此操作
<?php
$arr = array(
0 => array(
'SaleId' => '11^' ),
1 => array(
'SaleId' => '222@'),
2 => array(
'SaleId' => '333%'),
3 => array(
'SaleId' => '%%$' ),
);
//print_r($arr);exit();
$not_match_count=0;
$match_count=0;
for($i=0;$i<sizeof($arr);$i++){
$name=$arr[$i]['SaleId'];
if (!preg_match("/^[0-9a-zA-Z.\@\+\-\_]*$/",$name)) {
$not_match_count=$not_match_count+1;
}
else{
$match_count=$match_count+1;
}
}
echo $not_match_count."<br>".$match_count;// your expected output
?>
你想要实现什么?@Fatemeh Namkah:你期望的输出是什么?你能发布它吗。@VigneswaranS输出必须使用正则表达式计算差异数组的数量,但对于任何数组示例,是的,该数字返回1个下一票?什么?@HalayemAnis edite我的问题