在PHP中使用重复值

时间:2017-11-23 20:43:27

标签: php arrays

我有这个数组:

$myFruit = 'apple';
$fruits = array( 
    '0' => array('banana', 'cherry'),
    '1' => array('apple', 'pear'),
    '2' => array('apple', 'kiwi')
);

我想知道apple是哪个数组。

所以我的代码如下,它正在运行。

foreach($fruits as $key => $fruit) {;
    if(in_array($myFruit, $fruit)) {
        echo $key;
    }
}

我的问题实际上apple位于两个数组(12)中,代码回应12,而在找到一个结果时它应该停止。

因此它应仅回显1并停止搜索。

如何更改我的代码?

感谢。

3 个答案:

答案 0 :(得分:2)

只需在foreach中添加一个中断,使其返回找到您单词的第一个数组。

foreach($fruits as $key => $fruit) {;
   if(in_array($myFruit, $fruit)) {
       echo $key;
       break;
   }
}

答案 1 :(得分:0)

尝试在该函数中使用函数和return语句。

function search_subarray($haystacks, $needle) {
    foreach($haystacks as $key => $value) {
        if(in_array($needle, $value)) {
            return $key;
        }
    }
}

search_subarray($fruits, $fruit);

答案 2 :(得分:0)

使用break语句可以完成工作。

您可以在官方网站break

上阅读
var express = require("express");
var app = express();
var request = require("request");
app.set("view engine","ejs");
var data = {
   url : "http://api.pexels.com/v1/search?query=example+query&per_page=15&page=1",
   headers: {
     'Authorization': 'Your-Api-Key'
   } 
}
request(data, function(error,response, body){
 if(!error && response.statusCode == 200){
      console.log(body);
  }
});
app.listen(process.env.PORT, process.env.IP, function(){
  console.log("server is running!"); 
});