我正在寻找一个给定这个数组的函数,
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数组元素
我已经创建了一个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)
在我实际进行循环之前,我想知道其中有多少会在这里.
例:
$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) 我将禁用单词列表存储在数组中:
$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。
是否可以?