Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP如何正确检查符号数组上的行?_Php_Arrays_Find - Fatal编程技术网

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
  ?>