我想为特殊字符创建一个条件。如果我们在数组中找到特殊字符,则显示错误消息,否则显示成功消息。 我的数组如下:
Array
(
[0] => PRIVATE LIMITED
[1] => *^%$32407
[2] => 104810170620123
[3] => 104810170620123
[4] =>
[5] => *)@!#CID010
[6] => SURYA
[7] => 2016-06-14 08:17:49
[8] => 840
[9] => INR
}
所以我想要这样的条件。
if(Special char found){
echo "Special char found";
}else{
echo "Special char not found";
}
我想输出如下:
Array
(
[0] => PRIVATE LIMITED
[1] => 32407
[2] => 104810170620123
[3] => 104810170620123
[4] =>
[5] => CID010
[6] => SURYA
[7] => 2016-06-14 08:17:49
[8] => 840
[9] => INR
}
答案 0 :(得分:1)
您可以遍历数组或使用PHP's
,in_array
函数,如下所示;
if(in_array($sSpecialChar, $aArray)){
echo 'special char found';
}else{
echo 'special char not found';
}
答案 1 :(得分:1)
您可以遍历数组并使用正则表达式进行检查。
foreach ($myArray as $item) {
if(preg_match('/[\'^£$%&*()}{@#~?><>,|=_+¬-]/', $item)) {
echo "Special char found.";
} else {
echo "Special char not found.";
}
}
答案 2 :(得分:1)
循环遍历数组,检查特殊字符并将其删除。如果找到任何特殊字符,请使用变量记录。
$special_found = false;
foreach ($array as &$string) { // Use a reference so assignment will update the array
if (preg_match('/[\'^£$%&*()}{@#~?><>,|=_+¬]/', $string) {
$special_found = true;
$string = preg_replace('/[\'^£$%&*()}{@#~?><>,|=_+¬]/', '', $string);
}
}
if ($special_found) {
echo "Special char found";
}else{
echo "Special char not found";
}
答案 3 :(得分:0)
您需要条件:
preg_match('/[\'^£$%&*()}{@#~?><>,|=_+¬-]/',$array_value)
工作:
var_export(array_map(function($a){
return preg_replace('/[\'!^£$%&*()}{@#~?><>,|=_+¬-]/','',$a);
},array(
'KAYA LIMITED','*^%$32407',
'104810170620123','104810170620123',
'','*)@!#CID010','HDFC Bank','2016-06-14 08:17:49',
'840','INR'
)));
不要改变你的问题;)
在评论中,char -
也是一个特殊的字符!
所以array [1],array [5]和array [7]都有特殊的字符。
答案 4 :(得分:0)
或者,您可以创建一个函数来检查数组中的特殊字符。
function checkSpecialChar($array,$pattern){
foreach($array as $k=>$val){
if (preg_match($pattern, $val)){
return true;
}
}
return false;
}
// define a pattern
$pattern = '/[\'^£$%&*()}{@#~?><>,|=_+¬]/';
if(checkSpecialChar($array,$pattern)){
echo "Special char found";
}else{
echo "Special char not found";
}
以上模式不会将日期格式视为特殊字符。