相关疑难解决方法(0)

在Array中搜索部分值匹配

我正在寻找一个给定这个数组的函数,

array(
 [0] =>
  array(
   ['text'] =>'I like Apples'
   ['id'] =>'102923'
 )
 [1] =>
  array(
   ['text'] =>'I like Apples and Bread'
   ['id'] =>'283923'
 )
 [2] =>
  array(
  ['text'] =>'I like Apples, Bread, and Cheese'
  ['id'] =>'3384823'
 )
 [3] =>
  array(
  ['text'] =>'I like Green Eggs and Ham'
  ['id'] =>'4473873'
 ) 
etc.. 
Run Code Online (Sandbox Code Playgroud)

我想寻找针头

"面包"

并得到以下结果

[1] =>
  array(
   ['text'] =>'I like Apples and Bread'
   ['id'] =>'283923'
 )
 [2] =>
  array(
  ['text'] =>'I like Apples, Bread, and Cheese'
  ['id'] =>'3384823'
Run Code Online (Sandbox Code Playgroud)

php search multidimensional-array

22
推荐指数
2
解决办法
3万
查看次数

PHP - 计算满足条件的数组的所有元素

可能重复:
搜索包含字符串的PHP数组元素

我已经创建了一个mysql查询,它可以浏览多个产品,所有产品都包含以下信息:

产品ID产品名称产品价格和产品类别

在页面的下方,我通过foreach和一些'ifs'循环使用这些,所以它只显示那些名称在一个div中包含'x'的产品,并在另一个div中显示名称包含'y'的那些产品.

在进行循环之前,我很难计算每个div中会有多少产品.

基本上,我要问的是:

如何计算满足特定条件的数组中的所有元素?

添加了显示循环的代码:

<div id="a">
    <?php
    $i = 1;
    foreach ($products AS $product) {
        if (strpos($product->name,'X') !== false) {
            =$product->name
        }
        $i++;
    } ?>
</div>

<div id="b">
    $i = 1;
    foreach ($products AS $product) {
        if (strpos($product->name,'Y') !== false) {
            =$product->name
        }
        $i++;
    } ?>
</div>
Run Code Online (Sandbox Code Playgroud)

在我实际进行循环之前,我想知道其中有多少会在这里.

php arrays

7
推荐指数
1
解决办法
1万
查看次数

在PHP数组中搜索部分字符串?搜索值包含主题标签

例:

$array = array('alpha beta','beta gamma','delta phi', '#alpha phi', 'beta phi');
$searchword = 'alpha';
$results = array_filter($array, function($var) use ($searchword) { return preg_match("/\b$searchword\b/i", $var); });
print_r($results);

Array ( [0] => alpha beta [3] => #alpha phi )
Run Code Online (Sandbox Code Playgroud)

我想只找到包含的元素#alpha,而不是alpha.

我想要的结果是Array ( [3] => #alpha phi ).

但是,这不起作用:

$array = array('alpha beta','beta gamma','delta phi', '#alpha phi', 'beta phi');
$searchword = '#alpha';
$results = array_filter($array, function($var) use ($searchword) { return preg_match("/\b$searchword\b/i", $var); });
print_r($results);

Array ( ) …
Run Code Online (Sandbox Code Playgroud)

php regex arrays

7
推荐指数
1
解决办法
388
查看次数

PHP in_array 通配符匹配

我将禁用单词列表存储在数组中:

$bad = array("test");
Run Code Online (Sandbox Code Playgroud)

我使用下面的代码来检查用户名:

if (in_array ($username, $bad))
{
//deny
}
Run Code Online (Sandbox Code Playgroud)

但我有一个问题,它只拒绝给定的用户名是否完全是 test,但我希望它也拒绝给定的用户名是否为 Test、TEST、thisisatestok 或 ThisIsATestOk。

是否可以?

php

5
推荐指数
1
解决办法
8619
查看次数

标签 统计

php ×4

arrays ×2

multidimensional-array ×1

regex ×1

search ×1