PHP中数组键的选择

PHP中数组键的选择,php,arrays,string,search,key,Php,Arrays,String,Search,Key,我已经搜索了Google和PHP文档,但还没有找到解决方案。例如,假设我想对数组的所有键执行strstr(),以确定哪些键最接近我要搜索的键,例如: for($i=0;$i<count($array);$i++) { if(@strstr(key($array[$i]), "$search")) { print "Found: ". key($array[$i]). "<br>"; } } for($i=0;$iforeach($key=>value的

我已经搜索了Google和PHP文档,但还没有找到解决方案。例如,假设我想对数组的所有键执行strstr(),以确定哪些键最接近我要搜索的键,例如:

for($i=0;$i<count($array);$i++) {
   if(@strstr(key($array[$i]), "$search")) {
     print "Found: ". key($array[$i]). "<br>";
   }
 }
for($i=0;$i
foreach($key=>value的数组)
{
if(strstr($key,$search))
{
打印“找到:.$key.”
“; } }
foreach($key=>value的数组)
{
if(strstr($key,$search))
{
打印“找到:.$key.”
“; } }
使用foreach迭代键、值对

foreach($array as $key=>$value) {
   if(@strstr($key, "$search")) {
     print "Found: ". $key. "<br>";
   }
 }
foreach($key=>$value的数组){
如果(@strstr($key,“$search”)){
打印“找到:.$key.”
“; } }
更多参考:

更新以回答评论:

你可以用

array_keys-返回数组中的所有键或键的子集


使用foreach迭代键、值对

foreach($array as $key=>$value) {
   if(@strstr($key, "$search")) {
     print "Found: ". $key. "<br>";
   }
 }
foreach($key=>$value的数组){
如果(@strstr($key,“$search”)){
打印“找到:.$key.”
“; } }
更多参考:

更新以回答评论:

你可以用

array_keys-返回数组中的所有键或键的子集

这样就可以了

$found = array_filter(
                     array_keys($array), 
                     function($key) use ($search) {
                         return strpos($key, $search) !== FALSE;
                     });

$found
将是所有键的数组,其中包含一个子串,该子串包含在
$search

如果您只是在另一个字符串中查找字符串的存在,请使用
strpos()

这样就可以了

$found = array_filter(
                     array_keys($array), 
                     function($key) use ($search) {
                         return strpos($key, $search) !== FALSE;
                     });

$found
将是所有键的数组,其中包含一个子串,该子串包含在
$search


如果您只是查找另一个字符串中是否存在字符串,请使用
strpos()

另一个选项是在一个步骤中拉出所需的键,例如使用

$keys=preg_grep(“/”.preg_quote($search,“/”)。/”,array_keys($array));
foreach($key作为$key){
echo“找到$key
”; }
另一个选项是一步拔出所需的钥匙,例如使用

$keys=preg_grep(“/”.preg_quote($search,“/”)。/”,array_keys($array));
foreach($key作为$key){
echo“找到$key
”; }
谢谢!出于好奇,有没有办法通过for循环来实现这一点?谢谢!出于好奇,有没有办法通过for循环来实现这一点?