PHP如何正确检查符号数组上的行?
你好PHP如何正确检查符号数组上的行?,php,arrays,find,Php,Arrays,Find,你好 $Symbols = array('1','2','3','4','45','100','0'); $row = '120321'; //for example 如何在数组中的符号上检查$行 备注:即,如果$row中有$symbols中的一个或一些符号,则打印“是”。非常简单,实际上: if (array_intersect($Symbols, str_split($row))) { echo 'Yes'; } 在这里,我们使用将$row数组拆分为一个字符数组,然后使用检查它是
$Symbols = array('1','2','3','4','45','100','0');
$row = '120321'; //for example
如何在数组中的符号上检查$行
备注:即,如果$row中有$symbols中的一个或一些符号,则打印“是”。非常简单,实际上:
if (array_intersect($Symbols, str_split($row))) {
echo 'Yes';
}
在这里,我们使用将$row数组拆分为一个字符数组,然后使用检查它是否有与$Symbols数组相同的元素。但是请注意,对于像100这样的数字,这将失败
这也适用于大于9的数字:
foreach($Symbols as $symbol){
if(strpos($row,$symbol) !== false){
echo "Yes";
break;
}
}
根据您的评论,我认为您希望数组中所有元素的计数器出现在$行中:
希望这会有帮助 在PHP中使用要匹配$row值或每个字符的数组row@RakeshSharma我想从中的$Symbols获取打印计数值Symbols$row@learner签出我的答案如果字符串是200100怎么办?根据这个逻辑,所有这些数字都会返回Yes:22002001,0,10100@AmalMurali,除非我误解了,如果$row从$symbols中有一个或一些符号,而不是print Yes,那么询问者就会想要这样做。200100匹配一个或多个符号,因此将打印“是”。我们需要检查数组中存在的符号$symbols中的$row,如果$row中有来自$symbols的符号,而不是打印“是”。@学员:请用正确的标点符号写出句子好吗?很难理解您想要实现什么。我的意思是:我有数组符号$symbols,我有行$row。我想检查第$row行中数组$Symbols中是否存在一个或多个字符。@学习者:这正是代码的作用。你试过了吗?查看演示。
<?php
$counter = 0;
$Symbols = array('1', '2', '3', '4', '45', '100', '0');
$row = '120321'; //for example
foreach ($Symbols as $sym) {
if (strpos($row, $sym) !== false) {
$counter++;
}
}
echo $counter; // It will give you the counter of all element in array present in the $row
?>